我的项目的一个要求是程序循环直到用户按下" X"键。我有这个方法,但即使没有调用该方法,程序也会终止。这是我的代码:
while (terminate == false)
{
// Ask user for input
switch (command)
{
case "I":
{
// Do stuff
}
case "X":
{
terminateProgram();
}
}
}
这是我的终止方法:
private static boolean terminateProgram()
{
terminate = true;
return terminate;
}
即使我进入"我"关键,循环结束后的情况为" I"完成了。 " I"如果terminateProgram();则正常工作;被评论。如何在我输入" X"?
时才能停止循环答案 0 :(得分:3)
每个案例陈述中都需要break
。
阅读fall-through,这是您当前的代码正在做的事情。
while (!terminate)
{
// Ask user for input
switch (command)
{
case "I":
{
// Do stuff
break;
}
case "X":
{
terminateProgram()
break;
}
default:
// Do something default if no condition is met.
}
}
然后在这里:
private static void terminateProgram()
{
terminate = true; // if this method simply is to terminate a program
// I'm not quite sure why you need a `terminate` variable
// unless you're using it in another part of the program.
// A simple system.exit(0) would suffice.
System.exit(0);
}