我最近開始學習Java,在測試某些東西時遇到了問題。這可能是一個非常簡單的問題,但我似乎無法解決它。 這是我的代碼:如果在while循環中,不能跳出while循環
int firstj = 1;
if (firstj == 1) {
String choice = "Type a number between 1 and 4";
System.out.println(choice);
while (true) {
if (firstj == 1) {
Scanner third = new Scanner(System.in);
String thirdch = third.nextLine();
while (true) {
if (thirdch.equals("1")) {
System.out.println("Show choice and accept input again ");
System.out.println(choice);
break;
} else if (thirdch.equals("2")) {
System.out.println("Show choice and accept input again ");
System.out.println(choice);
break;
} else if (thirdch.equals("3")) {
System.out.println("Show choice and accept input again ");
System.out.println(choice);
break;
}
else if (thirdch.equals("4")) {
// I need this to break the loop and move on to the
// "Done." string
break;
}
else {
System.out.println("Type a number between 1 and 4");
thirdch = third.nextLine();
}
}
}
}
}
String done = "Done";
System.out.println(done);
我想讓它這樣,當你鍵入1,2或3,你得到的字符串,告訴您再次輸入一個號碼,接受用戶的輸入,而當你鍵入4循環會中斷並轉到完成的字符串。如果你能用簡單的代碼幫助我解決這個問題,我將不勝感激,因爲我不知道任何更先進的東西。
你的意思是你想突破* outer *循環嗎? –
你正在打破內在,而不是外循環。所以雖然(真)永遠是真的。 – Casey
「break」只能讓你擺脫1循環。你最根本的問題是無限循環。有一個無限循環已經夠糟了,你實際上有2個。現在是重構代碼的時候了。 –