-1

ArrayIndexOutOfBounds単語検索ゲームを書いていますが、whileループでエラーが発生する理由がわかりません。エラーはそれがこの行にあることを示しています:grid[i-1][j-1]=kb.next(); しかし、私は理由がわかりませんか?

コードのスクリーンショット

4

3 に答える 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 に答える