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