我的代码中存在一个无限的while循环,问题是如果我调用getInput方法(“ input”大小写)或resize方法(“ resize”大小写),则在执行后,它将打印两次命令行,如下所示:< / p>
输入以下命令之一:输入,显示,过滤,调整大小或退出
输入以下命令之一:输入,显示,过滤,调整大小或退出
这是我的循环代码:
while (true) {
System.out.println("\nEnter one of the following commands: input, display, filter, resize or exit");
String command = reader.nextLine();
switch (command) {
case "input":
data = getInput(data);
break;
case "display":
displayContents(data);
break;
case "filter":
data = removeEvens(data);
break;
case "resize":
data = resize(data);
break;
case "exit":
System.exit(0);
}
答案 0 :(得分:-1)
开关内的中断从开关中断。然后无限循环继续。
如果您想中断循环,可以使用标签。
即
INPUT_LOOP:
while (true) {
System.out.println("\nEnter one of the following commands: input, display, filter, resize or exit");
String command = reader.nextLine();
switch (command) {
case "input":
data = getInput(data);
break INPUT_LOOP;
case "display":
displayContents(data);
break INPUT_LOOP;
case "filter":
data = removeEvens(data);
break INPUT_LOOP;
case "resize":
data = resize(data);
break INPUT_LOOP;
case "exit":
System.exit(0);
}
}