検索
ホームページJava&#&チュートリアルJava の範囲外の配列 - java.lang.ArrayIndexOutOfBoundsException を解決する方法は?

Java は広く使用されているプログラミング言語であり、配列は Java 言語で非常に一般的なデータ構造です。配列を使用する場合、配列の添字が範囲外になるために発生する「java.lang.ArrayIndexOutOfBoundsException」例外が発生することがあります。では、この例外を解決するにはどうすればよいでしょうか?

1. 例外の概要

「java.lang.ArrayIndexOutOfBoundsException」は、Java プラットフォームによって提供される例外で、プログラムの実行時にスローされます。この例外は、配列の添字が範囲外であること、つまり、存在しない配列要素がアクセスされたことを示します。エラー メッセージには、通常、例外が発生した場所 (行数) と例外の原因が示されます。 :

java. lang.ArrayIndexOutOfBoundsException: 5

例外情報は、プログラムの 5 番目の位置で、配列の境界を超えた要素にアクセスしたため、プログラムがスローされたことを示しています。この例外。

2. 例外の原因の分析

配列を使用する場合、多くの場合、添字を使用して配列内の要素にアクセスする必要があります。 Java の配列の添字は 0 から始まり、配列の長さが 1 減るまで続きます。たとえば、長さ 5 の配列の場合、添え字の範囲は 0 ~ 4 です。

配列の長さを添え字として使用しようとすると、範囲外の例外が発生します。例:

int[] array = new int[5];
int a = array[5]; // ここで範囲外の例外が発生します

Inコードの 2 行目では、長さ 5 の配列の 6 番目の要素にアクセスしようとしています。配列の添字は 0 から始まるため、サイズ 5 の配列の最大添字は 5 ではなく 4 です。したがって、プログラムは ArrayIndexOutOfBoundsException 例外をスローします。

同様に、for ループを使用して配列要素に順番にアクセスする場合、ループの添え字が配列の範囲を超えると、範囲外例外も発生します。例:

int[] array = new int[5];
for(int i=0; i

System.out.println(array[i]); // 这里会产生越界异常

}

コードの 2 行目の i 値は 0 から始まり、1 ずつ増加します。ループ数は 6 です。配列の添字の最大値は4であるため、6回目のループではiの値が5となり、配列の添字の範囲を超えます。したがって、プログラムは ArrayIndexOutOfBoundsException 例外もスローします。

3. 異常な解決策

1. 配列の添字範囲情報を理解し、間違った添字の使用を回避することで、配列の範囲外の問題を効果的に回避できます。

2. for ループを使用して配列要素に順次アクセスする場合は、ループの添字が配列の範囲を超えないように注意してください。次のコードを使用すると、配列の範囲外の問題を回避できます。

int[] array = new int[5];
for(int i=0; i

System.out.println(array[i]);

}

ここでのループ数は配列の長さであり、配列の添え字の範囲を超えないことが保証されます。

3. try-catch ステートメント ブロックを使用して例外をキャッチします。

大規模なプログラムを開発している場合、範囲外の問題を回避するのは難しい場合があります。このとき、try-catch ステートメントを使用して例外をキャッチし、プログラムが正常に動作するようにすることができます。例:

int[] array = new int[5];
try{

int a = array[5]; //这里会产生越界异常

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("数组下标越界!");

}

ここでは、try-catch ステートメント ブロックを使用して範囲外の例外をキャプチャし、プロンプト情報が提供されます。

概要:

Java における配列添字の範囲外の問題は、プログラム開発においてよくある問題ですが、正しい添字を使用するか、ループ内の添字範囲を制御する限り、問題は解決します。 , この問題は効果的に回避できます。この問題が発生した場合は、try-catch ステートメントやその他の方法を使用して対処できます。

以上がJava の範囲外の配列 - java.lang.ArrayIndexOutOfBoundsException を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、