C語言中文網 目錄

Java計算平均成績

編寫一個程序,根據用戶輸入的總人數和總成繢計算平均成績。要求程序能夠處理總人數或者總成績不是數字時的情況。

根據題目要求得知,在程序中需要對多種異常情況進行不同的處理。此時可以在 try 語句后定義兩個或更多的 catch 語句塊,其語法結構如下:
try
{
    邏輯代碼塊
}
catch(ExceptionType1 e1)
{
    處理代碼塊1
}
catch(ExceptionType2 e2)
{
    處理代碼塊2
}
…
catch(ExceptionTypen en)
{
    處理代碼塊n
}

以上代碼執行時,Java 虛擬機會把實際拋出的異常對象依次和各個 catch 代碼塊聲明的異常類型匹配,如果異常對象為某個異常類型或者其子類的實例,就執行該 catch 代碼塊,而跳過其他的 catch 代碼塊。具體實現代碼如下:
import Java.util.InputMismatchException;
import java.utii.Scanner;
public class TestO3
{
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        try
        {
            System.out.println("請輸入班級總人數:");
            int count=input.nextInt();
            System.out.println("請輸入總成績:");
            int score=input.nextInt();
            int avg=score/count;    //獲取平均分
            System.out.println("本次考試的平均分為:"+avg);
        }
        catch(InputMismatchException e1)
        {
            System.out.println("輸入數值有誤!");
        }
        catch(ArithmeticException e2)
        {
            System.out.println("輸入的總人數不能為0!");
        }
        catch(Exception e3)
        {
            e3.printStackTrace();
            System.out.println("發生錯誤!"+e3.getMessage());
        }
    }
}

如上述代碼,在 main() 方法中使用了多重 catch 語句來捕獲各種可能發生的異常,包括 InputMismatchException 異常、ArithmeticException 異常以及其他類型的異常。

當用戶輸入的總人數或者總成績不為數值類型時,程序將拋出 InputMismatchException 異常,從而執行 System.out.println("輸入數值有誤!")代碼,輸出結果如下所示:
請輸入班級總人數:
50
請輸入總成績:
1250a
輸入數值有誤!
請輸入班級總人數:
50a
輸入數值有誤!

當輸入的總人數為 0 計算平均成績時會出現被除數為 0 的情況,此時會拋出 ArithmeticException 異常,從而執行 System.out.Println("輸入的總人數不能為0!")代碼,輸出結果如下所示:
請輸入班級總人數:
0
請輸入總成績:
100
輸入的總人數不能為0!

如下所示的是當輸入的總人數和總成績均為正常數值類型時的輸出結果:
請輸入班級總人數:
50
請輸入總成績:
1250
本次考試的平均分為:25

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户