修正方法: Java ロジック エラー: 配列が範囲外です

王林
リリース: 2023-08-26 17:07:51
オリジナル
1144 人が閲覧しました

修正方法: Java ロジック エラー: 配列が範囲外です

解決方法: Java ロジック エラー: 範囲外の配列

Java プログラミングでは、ロジック エラーが頻繁に発生します。その 1 つは配列の範囲外です。配列を使用する場合、配列の長さを超える要素にアクセスまたは変更すると、配列範囲外エラーが発生します。この記事では、この一般的なエラーを特定して解決する方法について説明します。

1. 配列の範囲外エラーを特定する

  1. 例外情報
    配列の範囲外エラーが発生すると、Java は ArrayIndexOutOfBoundsException (配列の添字アウト) をスローします。 -of-bounds 例外) 例外。例外情報には範囲外の位置が表示され、エラーの原因を見つけるのに役立ちます。

たとえば、次のコードは配列範囲外の例外をスローし、例外情報を表示します:

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)
ログイン後にコピー
  1. コーディング仕様
    優れたコーディング習慣は、潜在的な配列の範囲外の問題をできるだけ早く検出するのに役立ちます。コーディング規約の提案をいくつか示します。
  • ループ内で正しい添字範囲を使用します。ループの開始値と終了値が配列の長さ以内であることを確認してください。
  • 適切な条件判断を使用して、範囲外のエラーを防ぎます。たとえば、配列内の要素を反復処理する場合は、配列の長さより短い条件を使用します。

2. 配列の範囲外エラーを解決する

  1. 配列の長さを確認する
    配列要素にアクセスまたは変更する前に、必ず長さを確認してください。配列の範囲を超えないようにします。

たとえば、次のコードでは、配列要素を出力する前に、まず配列の長さをチェックします。

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("数组越界");
        }
    }
}
ログイン後にコピー

実行結果:

数组越界
ログイン後にコピー
  1. ループ条件を変更する
    ループを使用して配列にアクセスする場合は、ループ条件によって配列が範囲外にならないようにしてください。

たとえば、次のコードでは、配列の長さより短い条件を使用して配列を走査します。

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
ログイン後にコピー
  1. try-Catch ブロックを使用して例外を処理する
    配列の範囲外エラーを回避できない場合は、配列要素にアクセスまたは変更するコード ブロック内で try-catch ブロックを使用して、例外をキャッチして処理します。それに応じて。

たとえば、次のコードでは、配列の範囲外の例外をキャプチャし、エラー メッセージを出力します:

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!