我有方法,但需要Grade enum的程序代码

时间:2015-06-25 09:27:07

标签: java methods constructor enums instance-variables

我需要编写一个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;
    }
}

我感到困惑的是编写主程序。我认为它可能非常简单,但我不知道如何启动它。 我不想要整个代码。只需几行就能给我一个良好的开端。其余的我会试着自己解决。

1 个答案:

答案 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布尔值已正确设置且不变。