我正在和我的朋友一起做一些 Java 作业。讲师希望他编写一个 Java 程序,将整数输入转换为数字等级。100-90 = A 等等。唯一的问题是他必须使用 switch 语句。他还必须:
在你的 switch 语句中包含一个 case,如果用户输入任何小于 0 或大于 100 的数字,它将显示礼貌的错误消息。"
本来我也是这么想的...
import java.util.Scanner;
public class grade
{
public static void main(String[] args)
{
int ng;//number grade
String lg = "";//letter grade
System.out.println("enter grade");
Scanner in = new Scanner(System.in);
ng = in.nextInt();
switch (ng/10)
{
case 10:
case 9:
lg = "A";
break;
case 8:
lg = "B";
break;
case 7:
lg = "C";
break;
case 6:
lg = "D";
break;
default:
lg = "F";
break;
}
System.out.println("You got an " + lg);
}
}
这并不完美,因为它允许超过 100 和低于 0 的值,但我试图避免输入 100-0 中的每个整数。这似乎是对 switch 语句的荒谬使用,我无法想象为什么大学教授会教它,除了说明DRY原则。
有没有更好的方法仍然使用 switch 语句,但不会从 100-0 键入每个 int?