如何结束交换机内部的交换机。 Java的

时间:2011-10-20 20:58:05

标签: java case switch-statement

我正在尝试在交换机内进行切换。我得到它编译,但唯一的事情是,每次我运行它,我选择其中一个案例为第一个开关,一旦我去选择其中一个案例为开关内的第一个开关,它然后还要求我为第一个开关内部的第二个开关选择一个外壳,然后是第三个和第四个开关,然后结束。在选择开关内部的第一个开关或结束程序后,如何让整个程序在开始时重新开始。感谢。

离。

System.out.println("Pick a color.\n");

System.out.println("          1. Red");
System.out.println("          2. Blue");
System.out.println("          3. Yellow");
System.out.println("          4. Green");

Scanner kbReader = new Scanner(System.in);
int color = kbReader.nextInt();

System.out.println("The color you chose was " + color + ".");
String s1 = kbReader.nextLine();

switch (color)
    {
case 1: //Red
System.out.println("Now enter an integer from 1 through 10.");
int num1 = kbReader.nextInt();

switch (num1)
        {
case 1:
case 3:
case 5:
case 7:
case 9:
    System.out.println("");

case 2:
case 4:
case 6:
case 8:
case 10:
    System.out.println("");
    break;
        }
case 2: //Blue
System.out.println("Now enter an integer from 1 through 10.");
int num2 = kbReader.nextInt();

switch (num2)
        {
case 1:
case 3:
case 5:
case 7:
case 9:
    System.out.println("");

case 2:
case 4:
case 6:
case 8:
case 10:
    System.out.println("");

        }
case 3: //Yellow
System.out.println("Now enter an integer from 1 through 10.");
int num3 = kbReader.nextInt();

switch (num3)
        {
case 1:
case 3:
case 5:
case 7:
case 9:
    System.out.println("");

case 2:
case 4:
case 6:
case 8:
case 10:
    System.out.println("");

        }
case 4: //Green
System.out.println("Now enter an integer from 1 through 10.");
int num4 = kbReader.nextInt();

switch (num4)
        {
case 1:
case 3:
case 5:
case 7:
case 9:
    System.out.println("");

case 2:
case 4:
case 6:
case 8:
case 10:
    System.out.println("");     
        }
    }
}

3 个答案:

答案 0 :(得分:4)

只需在switch语句中的switch语句之后添加break

即。 (例如)

switch (color) 
    { 
case 1: //Red 
System.out.println("Now enter an integer from 1 through 10."); 
int num1 = kbReader.nextInt(); 

switch (num1) 
        { 
case 1: 
case 3: 
case 5: 
case 7: 
case 9: 
    System.out.println(""); 

case 2: 
case 4: 
case 6: 
case 8: 
case 10: 
    System.out.println(""); 
    break; 
        } 

break;  <--- this is the addition
case 2: //Blue 

或者(并且会使整个事物更具可读性)将这些开关放入另一个函数

答案 1 :(得分:0)

你在哪里使用break语句 你应该休息一下;案件结束执行后的陈述。 像这样。     情况1:      打破;

如果你没有给出break语句,那么它将按顺序执行。首次切换后,它将转到下一个开关,依此类推。

答案 2 :(得分:0)

你可以在条件循环中包含任何开关(while / do-while),当它到达结束时,如果你没有达到条件(比如你想要变量完成到如果 true ),交换机将重复。

此外,您可以在开关中的打印功能之后使用 break; 来停止继续切换选项。

要重复整个程序,请将其包含在while或do-while循环中。