程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-為什這個處理異常的程序這麼寫不行?

java-為什這個處理異常的程序這麼寫不行?

編輯:編程綜合問答
為什這個處理異常的程序這麼寫不行?

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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved