019 例外と例外処理(複数の例外の処理) 014 解答例

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

public class AverageCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            // ユーザーに3つの整数を入力してもらう
            System.out.print("1つ目の整数を入力してください: ");
            int num1 = scanner.nextInt();

            System.out.print("2つ目の整数を入力してください: ");
            int num2 = scanner.nextInt();

            System.out.print("3つ目の整数を入力してください: ");
            int num3 = scanner.nextInt();

            // 入力された整数の平均値を計算
            double average = (double) (num1 + num2 + num3) / 3;

            // 平均値を表示
            System.out.println("入力された整数の平均値: " + average);

            // 平均値が0の場合の例外処理
            if (average == 0) {
                throw new ArithmeticException("エラー: 平均値が0です。");
            }

        } catch (InputMismatchException e) {
            // 整数以外の入力があった場合の例外処理
            System.out.println("エラー: 整数以外の入力が検出されました。");

        } catch (ArithmeticException e) {
            // 平均値が0の場合の例外処理
            System.out.println(e.getMessage());

        } finally {
            // Scannerのクローズ
            scanner.close();
        }
    }
}

このプログラムでは、Scanner クラスを使用してユーザーに3つの整数を入力してもらいます。入力された整数の平均値を計算し、その平均値を表示します。また、整数以外の入力や平均値が0の場合に対する例外処理も含まれています。

「019 例外と例外処理」問題集リスト