解決方法: Java ロジック エラー: 範囲外の配列
Java プログラミングでは、ロジック エラーが頻繁に発生します。その 1 つは配列の範囲外です。配列を使用する場合、配列の長さを超える要素にアクセスまたは変更すると、配列範囲外エラーが発生します。この記事では、この一般的なエラーを特定して解決する方法について説明します。
1. 配列の範囲外エラーを特定する
たとえば、次のコードは配列範囲外の例外をスローし、例外情報を表示します:
public class ArrayOutOfBounds { public static void main(String[] args) { int[] numbers = {1, 2, 3}; System.out.println(numbers[3]); } }
実行結果:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at ArrayOutOfBounds.main(ArrayOutOfBounds.java:5)
2. 配列の範囲外エラーを解決する
たとえば、次のコードでは、配列要素を出力する前に、まず配列の長さをチェックします。
public class ArrayBoundsCheck { public static void main(String[] args) { int[] numbers = {1, 2, 3}; if (numbers.length > 3) { System.out.println(numbers[3]); } else { System.out.println("数组越界"); } } }
実行結果:
数组越界
たとえば、次のコードでは、配列の長さより短い条件を使用して配列を走査します。
public class ArrayLoop { public static void main(String[] args) { int[] numbers = {1, 2, 3}; for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } } }
実行結果:
1 2 3
たとえば、次のコードでは、配列の範囲外の例外をキャプチャし、エラー メッセージを出力します:
public class ArrayExceptionHandling { public static void main(String[] args) { int[] numbers = {1, 2, 3}; try { System.out.println(numbers[3]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("发生数组越界异常:" + e.getMessage()); } } }
実行結果:
发生数组越界异常:Index 3 out of bounds for length 3
例外をキャッチした後、問題をより適切に特定して解決できるように、回復操作を実行するか、意味のあるエラー プロンプトを出力するかを選択できます。
概要
配列範囲外エラーは、Java プログラミングでよくあるロジック エラーの 1 つですが、それらを特定して解決することでコードの品質を向上させることができます。まず、例外情報に注目してください。これにより、範囲外が発生した場所がわかります。次に、適切なコーディング慣行に従って、範囲外のエラーを防ぎます。最後に、実際の状況に応じて、配列の長さを確認したり、ループ条件を変更したり、例外処理を使用して配列の範囲外の問題を解決したりできます。配列の境界外エラーを賢明な方法で処理することで、より安定した信頼性の高い Java アプリケーションを構築できます。
以上が修正方法: Java ロジック エラー: 配列が範囲外ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。