【问题标题】:define constructors in java在java中定义构造函数
【发布时间】:2021-11-19 01:27:55
【问题描述】:

我正在编写一个 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);
       }
    }

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

【问题讨论】:

  • 你必须重写 toString() 方法
  • 您的搜索结果是什么?它似乎引导了一些方式吗?你还缺少什么?
  • 我投票结束这个问题,因为它是家庭作业
  • @flup 请不要。 Stack Overflow 上欢迎家庭作业问题。 How do I ask and answer homework questions?
  • @OleV.V.如果您阅读了该元帖子中的建议,则此问题不符合它们

标签: java methods types


【解决方案1】:

您必须声明一个不带任何参数的构造函数并覆盖 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
    }

【讨论】:

  • 当我运行代码时它没有打印任何东西
  • 尝试添加 System.out.println(student1); System.out.println(student2);等
  • 它运行良好,只需要添加一些打印语句,谢谢!
猜你喜欢
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 2015-02-12
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
相关资源
最近更新 更多