我有一段时间没有使用过Java,并且有一个简单但令人沮丧的错误。我的代码是这样的:卡住在无限while循环(与switch语句)
public static void main(String[] args) throws IOException{
String input = "";
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while(input != "Q"){
input = in.readLine().toUpperCase();
switch(input){
default: break;
case "A": //do stuff break;
case "B": //do stuff break;
}
}
System.out.println("Out of the loop!"); //never reaches this statement
}
我跑了Eclipse调试器,它清楚地表明输入变量被改变为“Q”,当用户输入,但while循环不断重新启动。
你想从switch语句中“break”吗?或者你想跳转到while循环的结尾吗?因为在后一种情况下,'break'指向'switch'并且需要显式标签才能正常工作。 – Clashsoft