package exercise_13;
public class Exercise13_2 {
/**
* @param args
*/
public static void main(String[] args) {
java.util.Scanner input=new java.util.Scanner(System.in);
int num1 = 0,num2=0;
System.out.println("Please enter two integers:");
try{
num1=input.nextInt();
}catch(Exception ex){
System.out.println("You num is wrong,please enter again");
input.nextInt();
};
try{
num2=input.nextInt();
}catch(Exception ex){
System.out.println("Wrong input,input again ");
input.nextInt();
};
System.out.println(num1+num2);
}
}
input.nextInt();這個方法是取出input當前的int類型的數據,第二次你輸入e的時候input當前的數據不是int類型。在try當中出現異常表明獲取的標記與期望類型的模式不匹配,程序進入catch當中有執行try當中的賦值代碼,其中當前input中的數據還是剛才的e,所有又一次的產生異常。
1樓其實說的就是這個意思,重新調用scaner。