下面的代碼詢問用戶他/她想要多少賽車手。Try-Catch While While
while (true) { // loops forever until break
try { // checks code for exceptions
System.out.println("How many racers should" + " participate in the race?");
amountRacers = in.nextInt();
break; // if no exceptions breaks out of loop
}
catch (InputMismatchException e) { // if an exception appears prints message below
System.err.println("Please enter a number! " + e.getMessage());
continue; // continues to loop if exception is found
}
}
如果amoutnRacers = in.nextInt();
代碼,跳出循環和程序的其它部分細運行輸入數字;然而,當我輸入諸如「awredsf」之類的東西時,它應該捕捉到它的異常。而不是再次提示用戶它會不斷循環,這對我來說是沒有意義的。
多少車手應該參與到比賽中:
不斷循環時,程序打印這樣嗎? 有多少車手參加比賽? 有多少車手參加比賽? 有多少車手參加比賽? 有多少車手參加比賽? 有多少車手參加比賽? 有多少車手應該參加比賽?請輸入一個數字! null 請輸入一個數字! null 請輸入一個數字! null 請輸入一個數字! null 請輸入一個數字! null 請輸入一個數字! null 請輸入一個數字!空 ...
我不明白是怎麼回事amountRacers = in.nextInt();
所以爲什麼用戶無法輸入數字?
基本上,你一次又一次地得到異常。這大概是因爲錯誤的輸入仍然在等待閱讀。 –