103 「例外修羅道」 Step02 問題

問題

あなたは、整数の配列を受け取り、その中から指定されたインデックスの要素を取り出して出力するメソッドを作成しようとしています。
ただし、指定されたインデックスが配列の範囲外だった場合、ArrayIndexOutOfBoundsException が発生します。

この例外を適切に try-catch で処理し、次のように出力してください:

  • 正常に要素を取得できたとき:選ばれた値: (値)
  • 範囲外のインデックスが指定されたとき:エラー: インデックスが範囲外です

要件

  • ArrayIndexOutOfBoundsExceptiontry-catch 文で処理すること
  • System.out.println を使ってメッセージを出力すること
  • 配列の長さが不定でも動作するようにすること(要素数3で固定でも可)

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    int[] numbers = {10, 20, 30};
    ExceptionUtil.printElement(numbers, 1);  // 範囲内
    ExceptionUtil.printElement(numbers, 3);  // 範囲外
    ExceptionUtil.printElement(numbers, 0);  // 範囲内
  }
}

ヒント

  • 配列[index] アクセスで例外が起こる可能性がある
  • try ブロックの中で要素を取り出す
  • 範囲外アクセスが起きた場合は catch (ArrayIndexOutOfBoundsException e) で対応する

解答例

103 ステップアップ問題 「例外修羅道」