开关盒运行的情况并非如此

时间:2015-03-03 12:49:09

标签: java switch-statement case

我是编程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 - &gt; a%3为0,案例0出现。但之后该程序也运行案例1。为什么?事实并非如此。

1 个答案:

答案 0 :(得分:2)

您需要在此处使用break。并且具有默认情况是理想的。

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

阅读more