我需要编写一个Java枚举LetterGrade,它代表字母A到F,包括加号和减号。 现在这是我的枚举代码:
public enum Grade {
A(true),
A_PLUS(true),
A_MINUS(true),
B(true),
B_PLUS(true),
B_MINUS(true),
C(true),
D(true),
E(true),
F(false);
final private boolean passed;
private Grade(boolean passed) {
this.passed = passed;
}
public boolean isPassing() {
return this.passed;
}
@Override
public String toString() {
final String name = name();
if (name.contains("PLUS")) {
return name.charAt(0) + "+";
}
else if (name.contains("MINUS")) {
return name.charAt(0) + "-";
}
else {
return name;
}
}
我感到困惑的是编写主程序。我认为它可能非常简单,但我不知道如何启动它。 我不想要整个代码。只需几行就能给我一个良好的开端。其余的我会试着自己解决。
答案 0 :(得分:0)
我想你有一个看起来像这样的学生班:
class Student {
protected Grade grade = null;
public Student(Grade g) {
this.grade = g;
}
}
然后,您只需在此类中添加一个方法,调用isPassing
中的enum
方法:
public boolean isPassing() {
if (this.grade != null)
return this.grade.isPassing();
return false;
}
这假设passed
中的Grade
布尔值已正确设置且不变。