这不是编译!我想我做的一切都是对的。我没有在这里看到错误:
class A {
public static void main(String args[]) {
int x = 10;
switch (X) {
case 2:
System.out.println("2");
default:
System.out.println("Def.");
case 3:
System.out.println("3");
case 4:
System.out.println("4");
}
}
}
答案 0 :(得分:1)
尝试更改x
的大小写并添加一些break语句。
class A {
public static void main(String args[]) {
int x = 10;
switch (x) {
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
default:
System.out.println("Def.");
}
}
}
答案 1 :(得分:0)
宣言中有x
,交换机中有X
。 Java区分大小写。
X
与x
switch
查看cases
,如果case
满足条件,则会执行statements
跟随它,直到找到break
或结束switch
这是强制性的,来自programming and logical perspective
所有案例结尾处的default
。
答案 2 :(得分:0)
您声明的变量名为x
,但在您的switch语句中,您引用的是X
。所以一定要先改变它。其次,您需要在每个案例块的末尾放置break;
语句。
switch (x) {
case 4:
// sysout
break;
case 3:
// sysout
break;
}
最后,您还应考虑将默认设置放在最后。但是,这只是一个使代码更易于阅读的惯例。
答案 3 :(得分:-2)
您用于switch
的变量不是您声明的相同变量。将套管固定在x
。
default
应该是switch
声明中的最后一个选项。这样做是很好的做法,因为它通常是您要执行的最后一个分支。
您尚未在任何break
语句中放置case
。简而言之 - 如果您未在break
中放置case
,则会执行后续的case
。你需要突然回来帮助控制打印出来的东西。
以上存在,以便人们可以做出堕落案件;如果你有两个值应该在同一个分支中,你可以这样表达它们:
case 2:
case 3:
System.out.println("Number is prime and less than 5");
break;
在您的任何案例陈述之后,立即在break
之后放置{{1}}。否则你的印刷品看起来不对。