我想驗證用戶在菜單上的輸入。選項是1,2,3和4.我試圖在輸入一個字母時處理InputMismatchException
錯誤。我看不出我做錯了什麼使我的代碼陷入無限循環。我的異常處理中的無限循環?
System.out.println("What will be your starting balance?");
double startingBalance =0;
boolean check = false;
while(!check) {
try {
startingBalance = input.nextDouble();
check = true;
}
catch (InputMismatchException e) {
System.out.println("Invalid input!");
//startingBalance = 0;
//e.printStackTrace();
//check = false;
}
}
它看起來像進入捕獲部分,但重複循環,而不是回到嘗試。我試過input.nextDouble();
來清除輸入緩衝區,但什麼都沒做。任何幫助將不勝感激。
啊,那固定我的問題。非常感謝! –
我可以問爲什麼你使用nextLine()而不是nextDouble()? –
我明白。感謝clairifying!我會驗證它。我需要等10分鐘才能完成。 –