• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaの配列部分ででエラーがでます。)

Javaの配列部分でエラーが発生する理由は?

このQ&Aのポイント
  • Javaの配列部分でエラーが発生しています。マインスイーパを作成している際に、爆弾の位置をランダムに決めるプログラムですが、エラーが発生しています。
  • プログラムは9×9の配列を使用し、ランダムに10個の爆弾を配置するものです。しかし、何らかの原因でエラーが発生しており、解決方法がわかりません。
  • エラーの原因を特定するために、配列のインデックスを正しく指定しているか、ランダムな数値が適切に生成されているかなど、プログラムの各部分を確認しましたが、問題を特定することができませんでした。

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

  • ベストアンサー
noname#130082
noname#130082
回答No.3

No.1さんのようにしないと、たぶん実行時に java.lang.ArrayIndexOutOfBoundsException が出ると思います。 配列の添え字は、0から8で、合計長さ9になりますが、new int[~][~]の~の部分は、最後の添え字の8ではなく、配列の長さの9を入れないといけません。 あと、できれば、for文のbodyでforの添え字に使われるiに関して、i--はやらずに別の方法がよいと思います。プログラムが読みにくく管理しずらくなるからです。

ainobakuda
質問者

お礼

そういうことだったんですか! 勘違いしていました。。。 エラーもまったくそのとおりです。 i--については他のやり方を検討してみます。 本当にありがとうございました!

その他の回答 (2)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

どんなエラーですか?

  • byDesign
  • ベストアンサー率75% (45/60)
回答No.1

× int[][] mine=new int[8][8]; ○ int[][] mine=new int[9][9];

ainobakuda
質問者

補足

回答ありがとうございます。 配列って0から入っていくから8までで9個になると考えているんですが違うんでしょうか?