問題
あなたは、2つの操作を行うメソッドを作成しようとしています:
- 配列から指定インデックスの要素を取り出す
- 指定した数値で割り算を行う
それぞれに以下のような例外が発生する可能性があります:
- 配列インデックスが範囲外 →
ArrayIndexOutOfBoundsException
- 割り算の除数が0 →
ArithmeticException
この2つの処理を 1つのメソッド内で順番に実行し、例外を try-catch
で適切に処理してください。
それぞれのエラーに対して、異なるメッセージを出力してください。
要件
ArrayIndexOutOfBoundsException
とArithmeticException
を 個別に catch すること- それぞれの例外で 別のエラーメッセージ を出力すること
- 正常な場合には、配列の値と計算結果を表示すること
出力形式
- 正常時:
選ばれた値: 30 計算結果: 3
- インデックスが範囲外のとき:
エラー: インデックスが範囲外です
- ゼロ除算が発生したとき:
エラー: ゼロによる除算です
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
int[] numbers = {10, 20, 30};
ExceptionUtil.process(numbers, 2, 10); // 正常
ExceptionUtil.process(numbers, 5, 2); // インデックス範囲外
ExceptionUtil.process(numbers, 1, 0); // ゼロ除算
}
}
ヒント
catch
を2つ書くと、それぞれの例外に応じた処理ができるcatch (Exception e)
でまとめて捕まえることもできるが、このステップでは使わない
→ 解答例