【发布时间】:2015-12-30 15:42:38
【问题描述】:
我有一个抽象类Human 和一个派生类Student
- Human 类具有名字和姓氏字段。
- Student 类有一个名为“type”的新字段,它是一个具有选项 PRIMARY、SECONDARY 和 COLLEGE 的枚举,和平均成绩字段,即学生当年的平均成绩。
我需要帮助来定义带有枚举的Student 类。我试过这个:
public class Student extends Human {
private int averageGrade;
public enum TYPE {
PRIMARY(1), SECONDARY(2), COLLEGE(3);
private int studentType;
TYPE(int stType) {
studentType = stType;
}
public int GetStudentType() {
return studentType;
}
public void SetStudentType(int value) {
if (value != 1 || value != 2 || value != 3) {
throw new IllegalArgumentException(" dsfss");
}
this.studentType = value;
}
public Student(String firstName, String lastName, int studentType, int averageGrade) {
super(firstName, lastName);
this.setAverageGrade(averageGrade);
}
public int getAverageGrade() {
return averageGrade;
}
public void setAverageGrade(int averageGrade) {
if (averageGrade < 2 && averageGrade > 6) {
throw new IllegalArgumentException("Student grades are between 2 and 6 inclusive");
}
this.averageGrade = averageGrade;
}
}
我还必须打印每个学生类型(PRIMARY、SECONDARY 和 COLLEGE)中成绩最高的学生。
我不知道枚举使用哪种比较器,averageGrade 很简单,但首先我需要根据枚举类型对它们进行排序。
请帮忙!我将不胜感激。
【问题讨论】:
-
我看不懂你的代码!你能正确缩进吗?
-
我对代码部分进行了格式化,不过需要重新审核。
标签: java class enums compare abstract