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

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

(コードを投稿する必要があります)しかし、whileループは次のようになります。
while(i<=height)
と
while(i<=widht)
彼らはする必要があります
while(i < height)とwhile(i < width)
配列インデックスはで始まり0、これからも続くLength - 1ので(また、内部ループから出た後に値をリセットする必要があります)j
これは単純な論理エラーです。whileループ(j <=幅)から出た後は、jの値をリセットしていません。iの次の値の結果として、jの値は0からではなく、最後の可能なインデックス値から始まります。
whileループの後にiのインクリメント値が来るたびに、jを1にリセットします。
[i-1]または[j-1]でインデックスを作成するため、標準的な方法ではないにしても、1を幅(または高さ)にループすることは問題ありません。
スクリーンキャプチャに表示されないのは、ユーザー(おそらくあなた)が「グリッドの幅を入力してください」に入力したものです。それぞれの番号は同じですか、それとも異なりますか?1番目と2番目のインデックスを入れ替えましたか?