ArrayIndexOutOfBounds
単語検索ゲームを書いていますが、whileループでエラーが発生する理由がわかりません。エラーはそれがこの行にあることを示しています:grid[i-1][j-1]=kb.next();
しかし、私は理由がわかりませんか?
質問する
368 次
3 に答える
3
(コードを投稿する必要があります)しかし、whileループは次のようになります。
while(i<=height)
と
while(i<=widht)
彼らはする必要があります
while(i < height)
とwhile(i < width)
配列インデックスはで始まり0
、これからも続くLength - 1
ので(また、内部ループから出た後に値をリセットする必要があります)j
于 2013-02-26T06:06:56.047 に答える
2
これは単純な論理エラーです。whileループ(j <=幅)から出た後は、jの値をリセットしていません。iの次の値の結果として、jの値は0からではなく、最後の可能なインデックス値から始まります。
whileループの後にiのインクリメント値が来るたびに、jを1にリセットします。
于 2013-02-26T06:16:03.273 に答える
1
[i-1]または[j-1]でインデックスを作成するため、標準的な方法ではないにしても、1を幅(または高さ)にループすることは問題ありません。
スクリーンキャプチャに表示されないのは、ユーザー(おそらくあなた)が「グリッドの幅を入力してください」に入力したものです。それぞれの番号は同じですか、それとも異なりますか?1番目と2番目のインデックスを入れ替えましたか?
于 2013-02-26T06:13:57.917 に答える