簡體   English   中英

try-catch語句出錯

[英]Error with the try-catch statements

我需要修復try-catch語句的幫助,以便它將在第一次嘗試時處理異常。 目前,異常處理程序僅適用於第二個用戶輸入。 我為我的措辭不佳表示歉意。

class MyGradeLevels {

    public static void main(String[] args) {
         System.out.println("Please enter your grade to begin!");

         java.util.Scanner input=new java.util.Scanner(System.in); 
         double grade=input.nextInt();

         if ( grade >= 90 ) {
            System.out.println("Great Job!");
         } else if( grade <= 49 ) {
            System.out.println("Needs Improvement!");
         } else {
            System.out.println("Average Effort!");
         } 

        try { 
              grade=input.nextInt(); 
              System.out.println("Your Final Grade is "+grade); 
         } 
        catch( java.util.InputMismatchException e ) { 
              System.out.println("Please round your number and restart!"); 
         }

         input.close();     
    }
}

您已經寫出了全部代碼。 要么更早開始“ try”,要么用完全相同的try catch包圍第一個輸入:

class MyGradeLevels {

    public static void main(String[] args) {
         System.out.println("Please enter your grade to begin!");

         java.util.Scanner input=new java.util.Scanner(System.in); 
         double grade;
        try { 
              grade=input.nextInt();
              if ( grade >= 90 ) {
                 System.out.println("Great Job!");
              } else if( grade <= 49 ) {
                 System.out.println("Needs Improvement!");
              } else {
                 System.out.println("Average Effort!");
              } 
         } 
        catch( java.util.InputMismatchException e ) { 
              System.out.println("Your number isn't right.");

         }

        try { 
              grade=input.nextInt(); 
              System.out.println("Your Final Grade is "+grade); 
         } 
        catch( java.util.InputMismatchException e ) { 
              System.out.println("Please round your number and restart!"); 
         }

         input.close();     
    }
}

我想這就是您想要的,但是如果不說...

class MyGradeLevels {

public static void main(String[] args) {
    System.out.println("Please enter your grade to begin!");
    double grade = 0;
    try {
        java.util.Scanner input = new java.util.Scanner(System.in);
        grade = input.nextInt();
    } catch (java.util.InputMismatchException e) {
        System.out.println("Please round your number and restart!");
    }
    if (grade >= 90) {
        System.out.println("Great Job!");
    } else if (grade <= 49) {
        System.out.println("Needs Improvement!");
    } else {
        System.out.println("Average Effort!");
    }

    try {
        java.util.Scanner input = new java.util.Scanner(System.in);
        grade = input.nextInt();
        System.out.println("Your Final Grade is " + grade);
        input.close();
    } catch (java.util.InputMismatchException e) {
        System.out.println("Please round your number and restart!");
    }

}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM