我遇到了这个问题,当我得到错误答案时感到困惑
String s = "dog";
switch( s )
{
case "dag" : System.out.print("7");
case "dog" : System.out.print("8");
case "dug" : System.out.print("9");
}
答案是89,但我不确定为什么。我以为它只是8.提前感谢您的帮助。
答案 0 :(得分:2)
之所以发生这种情况,是因为在找到匹配项后你没有break;
,所以它会继续失败。它以这样的方式完成,因此您可以同时捕获多个内容:
case 1:
case 2:
case 3:
// do something for 1-3
break;
使用您的代码,您需要
switch (s) {
case "dag":
System.out.print("7");
break;
case "dog":
System.out.print("8");
break;
case "dug":
System.out.print("9");
break;
}
答案 1 :(得分:0)
你忘了使用休息。
case "dog": //print
break;