0
爲什麼掃描儀在異常發生後不讀取值?這是代碼。當拋出異常時,在下一次迭代中它不允許用戶輸入數據,它總是進入catch塊並打印文本。掃描儀在異常後不會讀取用戶輸入
public class Main {
public static void main(String[] args) {
Scanner inputScanner = new Scanner(System.in);
boolean correctInput = false;
do {
try {
int readInt = inputScanner.nextInt();
correctInput = true;
} catch (InputMismatchException e) {
correctInput = false;
System.out.println("Please enter int value");
}
} while (!correctInput);
}
}
不要爲控制代碼的流程使用異常。代替使用'while(!scanner.hasNextInt())''。 – 2014-09-10 12:03:24