-1 java
我最近开始学习Java。我的老师给了我们这份作业,内容是关于编写If-Else下面的Switch-Case语句代码并将其转换为语句代码。我If-Else正确编写了该语句代码,但其中Switch-Case一个似乎有一些错误。我越早得到答案越好。谢谢。
我要转换的内容:
int x;
System.out.println("type in a mark to see what grade it is");
Scanner input = new Scanner(System.in);
x = input.nextInt();
if (x >= 90 && x <= 100) {
System.out.println("A");
}
if (x >= 80 && x < 90) {
System.out.println("B");
}
if (x >= 70 && x < 80) {
System.out.println("C");
}
if (x >= 60 && x < 70) {
System.out.println("D");
}
if (x >= 50 && x < 60) {
System.out.println("E");
}
if (x < 50 && x > 0) {
System.out.println("F");
}
if (x <= 0 || x > 100) {
System.out.println("invalid mark");
}
Run Code Online (Sandbox Code Playgroud)
我试过的
Scanner input = new Scanner(System.in);
int x = input.nextInt();
switch (x) {
case x >= 90 && x <= 100:
System.out.println("A");
break;
case x >= 80 && x < 90:
System.out.println("B");
break;
case x >= 70 && x < 80:
System.out.println("C");
break;
case x >= 60 && x < 70:
System.out.println("D");
break;
case x >= 50 && x < 60:
System.out.println("E");
break;
case x < 50 && x > 0:
System.out.println("F");
break;
default:
System.out.println("invalid mark");
Run Code Online (Sandbox Code Playgroud)
除了一些语法错误消息外,不提供任何实际输出。
由于您的switch语句将int变量x作为输入参数,因此所有case语句都必须检查int值,而不是布尔值。这就是为什么会出现不兼容类型错误的原因。你可以做:
switch (x / 10) {
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
...
Run Code Online (Sandbox Code Playgroud)
查看更多java doc switch语句
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |