【发布时间】:2014-02-08 02:58:52
【问题描述】:
这里是 Java 初学者。所以我不知道如何去做,所以如果用户输入是“A+”,我会得到 4.0 并且不会更高?同样对于“F”,我想让 F、F-、F+ 都产生 0.0 gpa。我想要么我要为字母等级 A 和 F 设置特殊参数,要么只是在 GPA 上写一个“限制”或“上限”。我的意思是让我的双'gpa'只能是0-4.0的值。您认为最有效的任何一种方法都可以,我只是对 Java 的语法和词汇非常陌生,以至于我什至不知道从哪里开始。
这是我的代码:
import java.util.*;
public class HomeworkCalculator {
public static void main(String[] args) {
Scanner in = new Scanner(System. in );
String grade, letter1, letter2;
System.out.print("Enter a letter grade: ");
grade = in .nextLine();
letter1 = grade.substring(0, 1);
letter2 = grade.substring(1, 2);
double gpa = 0;
if (letter1.equals("A")) {
gpa = 3.9;
} else if (letter1.equals("B")) {
gpa = 3.0;
} else if (letter1.equals("C")) {
gpa = 2.1;
} else if (letter1.equals("D")) {
gpa = 1.2;
} else if (letter1.equals("F")) {
gpa = 0;
}
if (letter2.equals("+")) {
System.out.println(gpa + 0.3);
} else if (letter2.equals("-")) {
System.out.println(gpa - 0.3);
}
}
}
我尝试在程序结束时将用户输入“A+”单独编码为仅等于 4.0,但是当我只想要 1 个值时,输出只给我 4.0,然后是 4.2。然后我尝试添加一个中断或返回,看看我是否可以做到,如果输入是“A+”,它会自动立即结束代码——希望阻止任何额外的输出发生,但这并没有不会发生。
有什么建议吗?
【问题讨论】:
-
如果这是我的代码,我会创建一个名为 Grade 的枚举,并将每个字符串与一个数值和一个枚举常量相关联。
标签: java