【Java徹底解説-番外編-】初心者に多いArrayIndexOutOfBoundsExceptionの解決方法

ArrayIndexOutOfBoundsExceptionが発生してしまう時の解決方法について、実際にプログラムを動かしてみながら解説していきます。

初心者にとって例外エラーを解決するのは難しい作業になるかもしれませんが頑張っていきましょう。

ArrayIndexOutOfBoundsExceptionとは?

java.lang.RuntimeExceptionクラスの子クラスの例外エラーという位置づけになります。

配列やリスト型で存在していないインデックス番号の要素を参照しようとしたときに例外エラーとしてスローされます。

実際に次のプログラムを動かしてみてください。

 

もうお分かりかもしれませんが実行結果は次のようになります。

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4

at ThrowException.main(ThrowException.java:11)

この例外エラーを解消する方法を説明していこうと思います。

ArrayIndexOutOfBoundsExceptionの解決方法

さっき実行したプログラムではfruitsという配列の要素をインデックス番号1〜4まで参照して出力するというものでした。

しかし実際の配列の要素とインデックス番号は次の図のように0〜3までしかなかったのです。

配列の一番最初のインデックス番号は0から始まるので配列は4つの値を保持していますが、参照するためのインデックス番号は3までしかなかったのです。

結果としてプログラムの繰り返し文では存在しないインデックス番号4を参照しようとして例外エラーがスローされているのです。

それではプログラムを次のように修正してあげましょう。

 

修正後のプログラムでは繰り返し文の「<= 4」の箇所を「<4」のように4(存在しないインデックス番号)が参照されないように変更をしました。

実行結果は以下のように正しく出力されます。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

某私立有名大学に在学中、有名ポータルサイト企業のハッカソン出場経験複するが、周囲とのプログラミングや技術力の差を実感する。 大学卒業時の就職活動で技術力をアピールするためプログラミングの学習をひたすら行い、現在某有名企業でWebアプリケーションエンジニアとして活躍中。これからは自分が経験した学習方法を発信してプログラミングが分かる楽しさを伝えていきたいと思っています!