Java的新手试图进行切换

时间:2017-02-02 17:08:48

标签: java switch-statement

我正在尝试通过在最后添加“jedi ++”来实现像Javascript中那样逐步执行代码的开关,但它不会让我这样做有关如何实现这一点的任何建议?这是代码片段。

switch(jedi){
    case 1:         
        while(!input.equalsIgnoreCase("guardian") && !input.equalsIgnoreCase("sentinel") && !input.equalsIgnoreCase("consular")){           
            System.out.println("Please enter the path followed by this Jedi.");
            System.out.println("(Guardian, Sentinel or Consular)");
        }
        registrant.setPath(input);
        break;

    case 2: 
        while(!input.equalsIgnoreCase("master") && !input.equalsIgnoreCase("knight") && !input.equalsIgnoreCase("padawan")
                    && !input.equalsIgnoreCase("youngling")){
            System.out.println("Please enter the Jedi's Rank.");
            System.out.println("(Master, Knight, Padawan, Youngling)");
            input = keyboard.nextLine();
        }       
        registrant.setRank(input);
        break;
    jedi++;
}

2 个答案:

答案 0 :(得分:1)

你想在所有情况下使用jedi ++吗?或者只是在案例2中?

如果只是针对案例2,你可以做

case 2:
    ....
    jedi++;
    break;
case 3:
    ....

如果适用于所有情况,你可以在切换块后执行jedi ++。

答案 1 :(得分:1)

语句只能在案例中存在。因为jedi ++不是案例的一部分,它的投掷错误。将增量语句放在必需的case语句下将解决问题。