Java交换机不支持';我拿不到合适的箱子
所以我会有一个这样的代码Java交换机不支持';我拿不到合适的箱子,java,oop,switch-statement,Java,Oop,Switch Statement,所以我会有一个这样的代码 switch (in) { case "Hi": out = "Hello" case "Who are you": out = "I am your personal Assistant 'Buddy'" } return out; 在另一节课上我会 System.out.println(getAnwser(in)); 所以我会Hi,switch会告诉我:“我是你的私人助理‘好友’” 但是它应该给我“你好” 你知道为什么会发生这种情况吗?你的代码不能工作的
switch (in) {
case "Hi":
out = "Hello"
case "Who are you":
out = "I am your personal Assistant 'Buddy'"
}
return out;
在另一节课上我会
System.out.println(getAnwser(in));
所以我会Hi
,switch会告诉我:“我是你的私人助理‘好友’”
但是它应该给我“你好”
你知道为什么会发生这种情况吗?你的代码不能工作的原因是因为你忘记关闭带有中断的case语句。因此,在您的例子中,“out”变量首先被赋值为Hello,然后被赋值**我是您的个人助理“Buddy”**因为没有任何东西可以阻止编译器这么做。因此,您应该使用break。编辑代码:
switch(in){
case "Hi":
out = "Hello";
// add a break here to escape the switch statement
break;
case "Who are you":
out = "I am your personal Assistant 'Buddy'";
// always add a break, always...
break;
return out;
}
您忘记添加中断语句重复的链接不准确,但接受的答案正确地解释了您看到的内容。如果有人有更好的链接,请随意编辑。您可以在第一个
案例
语句中输入,但由于您忘记了中断
语句,您可以在第二个案例
语句中输入。最后,out
包含第二个字符串。堆栈溢出时不建议使用仅代码的答案。因此,请编辑您的答案,并解释它的作用和使用原因。您的代码缺少结尾}(,默认语句)和解释