Я не использовал Java через некоторое время, и у меня есть простая, но разочаровывающая ошибка. Мой код-то вроде этого:Stuck In Infinite While Loop (с оператором 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
}
Я побежал затмение отладчик и это ясно показывает, что входная переменная изменяется на «Q», когда вводится пользователем, но цикл в то время как постоянно перезапускается.
Вы хотите «вырваться» из инструкции switch или вы хотите перейти в конец цикла while? Потому что в последнем случае 'break' нацеливается на' switch' и требует, чтобы явная метка работала правильно. – Clashsoft