問題
あなたは、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)でまとめて捕まえることもできるが、このステップでは使わない
→ 解答例
実習で理解を深めよう / Practice to deepen your understanding
この内容についてJavaDrillで実際に手を動かして学習できます
Practice with JavaDrill to learn hands-on


