0
我有一個while循環運行,以確保用戶輸入正確的信息。但是,它不會通過循環再次詢問用戶。例如,如果我在查找整數時輸入「k」,它將不會經過任何程序,而不會輸出任何內容並且程序被卡住。我發現a question similar to this problem,但提供的解決方案仍然無法正常工作。雖然在我的程序跳過while循環並繼續之前,現在它在永恆中一無所獲。while循環忽略try-catch
while (errorLoop) {
try {
if (kb.hasNextInt()) {
Player.setBet(kb.nextInt());
}
}
catch (InputMismatchException e) {
System.out.println("Please enter a positive number.");
}
if (Player.getBet() > 0) {
errorLoop = false;
}
}
心不是第二別的情況下,多餘的? +1對於很好的解釋! – user 2014-10-19 18:47:41
@user稍微改變了邏輯。兩個elses都是必需的。第一個處理負整數。第二個處理非int輸入。在這兩種情況下,您都希望消耗當前行的末尾,以便下一次迭代可以嘗試在下一行中找到一個int。 – Eran 2014-10-19 18:52:28
現在我完全同意;) – user 2014-10-19 19:00:37