首页 > 解决方案 > 在java中定义构造函数

问题描述

我正在编写一个java代码来创建一个学生类,我应该定义两个构造函数,一个必须有参数,一个没有参数参数 这就是我要做的: setStudent(),它接受三个参数:一个字符串名称、一个整数等级和一个双倍 cgpa 值。它将这些参数存储到类的三个成员变量中。getName 返回存储在成员变量名称中的值。getGradethat 返回存储在成员变量grade 中的值。getCGPA 返回存储在成员变量 cgpa 中的值。printStudent 显示三个成员变量的值。 我做的最多,但我不知道如何处理最后一件事 printStudent。

My class :

    public class Students{
       private String Name;
       private int Grade;
       private double CGPA;
       public Students(String Name, int Grade, double CGPA){
          this.Name = Name;
          this.Grade = Grade;
          this.CGPA = CGPA;
       }
       public String getName(){
          return Name;
       }
       public void setName(String Name){
          this.Name = Name;
       }
       public int getGrade(){
          return Grade;
       }
       public void setGrade(int Grade){
          this.Grade = Grade;
       }
       public double getCGPA(){
          return CGPA;
       }
       public void setCGPA(double CGPA){
          this.CGPA = CGPA;
       }
    }

and that is my main :

    public class LAB4EX1{
       public static void main(String [] args){
          Students student1 = new Students("Nasser", 90, 3.4);
          Students student2 = new Students("Adnan", 92, 3.72);
          Students student3 = new Students("Mohammed", 91, 3.5);
       }
    }

我需要让它为我打印输出。任何帮助将非常感激。

标签: javamethodstypes

解决方案


您必须声明一个没有任何参数的构造函数并覆盖 toString 方法:

public class Students{
        private String Name;
        private int Grade;
        private double CGPA;
        public Students(String Name, int Grade, double CGPA){
            this.Name = Name;
            this.Grade = Grade;
            this.CGPA = CGPA;
        }
        public Students(){ // empty constructor
        }
        public String getName(){
            return Name;
        }
        public void setName(String Name){
            this.Name = Name;
        }
        public int getGrade(){
            return Grade;
        }
        public void setGrade(int Grade){
            this.Grade = Grade;
        }
        public double getCGPA(){
            return CGPA;
        }
        public void setCGPA(double CGPA){
            this.CGPA = CGPA;
        }

        @Override
        public String toString() {
            return "Students{" +
                    "Name='" + Name + '\'' +
                    ", Grade=" + Grade +
                    ", CGPA=" + CGPA +
                    '}';
        } // toString() for printing your three fields
    }

推荐阅读