【问题标题】:switch case runs a case which is not the case [duplicate]switch case 运行的情况并非如此[重复]
【发布时间】:2015-03-03 12:49:09
【问题描述】:

我正在准备 Java I 编程考试。在这个练习中,我应该自己运行代码并说出结果。 此代码由我课程的教授提供。我没有创建此代码。

以下是代码:

public class SS13Aufg2 {

    public static void main(String[] args) {

        int a = 1;
        int b = 2;
        while (a < 6) {
            a = a + 2;
            switch (a%3) {
                case 0 : b = a-b;
                case 1 : b = a*b;
            }
        }
    }

}

我无法理解的,已经在第一次运行。 a = 3 --> a%3 是 0 并且 case 0 出来了。但之后程序也运行案例 1。为什么?事实并非如此。

【问题讨论】:

标签: java switch-statement case


【解决方案1】:

您需要在这里使用break。并且有一个默认情况是理想的。

switch (a%3) {
    case 0 : b = a-b;
        break;
    case 1 : b = a*b;
        break;
    default:System.out.println("Invalid");          
        break;
}

阅读more

【讨论】:

  • 在每个案例结束后使用 break 语句,如 Ruchira 提到的那样
  • 您可能还需要一个默认情况,这会引发某种错误。
  • @HunterMcMillen 是的。是的。
  • 不,你理解错了,这段代码是我课程的教授给的。我应该自己运行它。我没有创建此代码。我只是想知道,因为它只是第一次这样做。
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 2011-05-08
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-10
相关资源
最近更新 更多