• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaの配列に関するエラーに関して)

Javaの配列に関するエラーについて

このQ&Aのポイント
  • Javaの配列でArrayIndexOutOfBoundsException(配列の範囲外参照)のエラーが発生しています。
  • エラーの原因は、配列の大きさが足りないことによるものです。
  • フィールドで宣言している配列の大きさは十分なはずなのに、エラーが出てしまいます。どのように修正すればエラーがなくなるのか解決策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

K2は本当に(絶対に)1から31の間ですか? そのように設計していても実はアクセスしているかもですので、 a[30][k2]=(""+all);の上の行でK2の値を表示してみてください。

mathmathuunt
質問者

お礼

解決できました! ありがとうございました!

mathmathuunt
質問者

補足

for文を回す条件としてk2が1~31の範囲と指定しているので、多分そうだと思います。 アドバイスに従ってk2の値をSystem.out.println("k2"+k2);として表示させてみましたが、「k2:0」となってエラーが発生しており、k2が0より大きくなっていない模様です。 試しにa[30][0]=(""+333);とプログラムしてみましたが、以下の様なエラーが出てきます。 エラー Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 30 エラー箇所 a[30][0]=(""+333); フィールドで配列の大きさを宣言して、他のところで何かの都合で大きさが変わってしまうなんてことはあるのでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

>java.lang.ArrayIndexOutOfBoundsException: 30 すいません。問題は30の方ですね。 80に見えて30ということはないですよね。 [30][40]とすると、0から29,0から39までなので。

すると、全ての回答が全文表示されます。

関連するQ&A