【发布时间】:2021-09-09 15:38:31
【问题描述】:
我有一个名为“Student”的抽象类和两个子类“Graduate”和“Undergraduate”,它们都有相同的参数。
我想随机创建 10 个 Student 对象,一些来自“Graduate”,一些来自“Undergraduate”类。
我想为所有创建的对象打印 displayStudent() 方法,我一直在纠结如何随机生成 10 个学生,所以他们都是随机的毕业生和本科生。
public abstract class Student {
private int ID;
private double GPA;
public Student(int ID, double GPA) {
this.ID = ID;
this.GPA = GPA;
}
public int getID() {
return ID;
}
public double getGPA() {
return GPA;
}
public abstract String getLevel();
public abstract String getStatus();
public final String displayStudent() {
return getLevel() + " ID>> " + getID() + ", GPA>> " + getGPA() + ", Status>> " + getStatus();
}
}
public class Graduate extends Student{
public Graduate(int ID, double GPA) {
super(ID, GPA);
}
@Override
public String getLevel() {
return "graduate";
}
@Override
public String getStatus() {
if( getGPA() >= 3) {
return "honor";
} else if (getGPA() >= 2 && getGPA() <= 3) {
return "good";
} else {
return "probation";
}
}
}
public class Undergraduate extends Student {
public Undergraduate(int ID, double GPA) {
super(ID, GPA);
}
@Override
public String getLevel() {
return "undergraduate";
}
@Override
public String getStatus() {
if( getGPA() >= 3) {
return "honor";
} else if (getGPA() >= 2 && getGPA() <= 3) {
return "good";
} else if( getGPA() > 0 && getGPA() < 2) {
return "probation";
} else {
//for any number that is not in the range of the GPA
return "invalid GPA!";
}
}
}
【问题讨论】:
-
使用
java.util.Random获取随机数并填写 ID/GPA 等字段,根据返回的值构建您的逻辑(我把这个留给你)... -
我知道如何生成随机数,但我不知道如何让它在研究生和本科生之间随机选择。顺便感谢您的帮助!
-
我给你一个提示......你会如何使用 java.util.Random 来表示头和尾?现在,您将如何使用 java.util.Random 来表示研究生和本科生?
标签: java object oop inheritance random