【问题标题】:I have the methods, but need program code for Grade enum我有方法,但需要 Grade 枚举的程序代码
【发布时间】:2015-09-11 19:43:04
【问题描述】:

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

我对编写主程序感到困惑。我认为这可能很简单,但我不知道如何开始。 我不想要整个代码。只需几行就可以让我领先一步。其余的我会自己想办法。

【问题讨论】:

  • 你的主程序应该做什么?
  • 好的。它需要计算学生是否通过或失败。所以我肯定需要定义 letterGrade 属于哪个 % 标记。
  • 请阅读stackoverflow.com/help/how-to-ask。我不知道你在找什么。
  • 主程序会使用枚举中的方法来判断一个学生是通过还是失败。
  • 您的第一个问题是,您似乎在询问源代码,甚至没有告诉您要做什么...第二个问题是该站点并非旨在为您生成源代码.它更有助于解决您遇到的特定问题。

标签: java methods constructor enums instance-variables


【解决方案1】:

我想你有一个如下所示的 Student 类:

class Student {

    protected Grade grade = null;  

    public Student(Grade g) {
        this.grade = g; 
     }
}

然后你只需在这个类中添加一个方法,从你的enum 调用isPassing 方法:

public boolean isPassing() {
    if (this.grade != null) 
        return this.grade.isPassing();
    return false;
}

这是假设Grade 中的passed 布尔值设置正确且不变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多