平均スコアを計算します

平均スコアは、ユーザ入力の総数と総スコアに基づいて計算されます。総数または総スコアが数値でない場合を処理するために必要な手順。

複数のcatchステートメントを使用する場合は、今度は実際にスローされる例外オブジェクトへのJava仮想マシンが宣言され、それぞれのcatchブロックは、例外の型と一致し、catchブロックは、例外オブジェクトは、例外の種類または実装のサブクラスのインスタンスである場合他のcatchブロックをスキップしながら。コードは以下の通りであります:

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test03 {
    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());
        }
    }
}

上記のコードのように、()キャッチ例外に複数のメインcatchステートメントを使用する方法が異常InputMismatchException、はArithmeticException異常および異常の他のタイプを含む、種々の起こり得ます。

ユーザが合計数を入力または合計スコアがない数値型である場合、プログラムは、それによってコード行15を実行し、InputMismatchException例外がスローされ、出力結果は次の通りであります:

请输入班级总人数:
50
请输入总成绩:
1250v
输入数值有误!
请输入班级总人数:
50v
输入数值有误!

入力の数がゼロである場合、平均スコアは、コード行17を実行するように、配当が意志はArithmeticException例外がスローされ、この時点で、ゼロで計算され、出力結果は次の通りであります:

请输入班级总人数:
0
请输入总成绩:
100
输入的总人数不能为0!

入力総数と合計スコア未満である場合、正常な値型で出力されます。

请输入班级总人数:
5
请输入总成绩:
500
本次考试的平均分为:100
公開された457元の記事 ウォン称賛94 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_45743799/article/details/104736785