Java Switch得不到正确的解决方案

时间:2018-07-03 13:37:21

标签: 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并切换会给我:"I am your personal Assistant 'Buddy' "

但是它应该给我"Hello"

知道为什么会发生吗?

1 个答案:

答案 0 :(得分:-2)

由于忘记带中断来关闭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;
          }