我正在写一个单词查找游戏,但无法找到while循环给我ArrayIndexOutOfBounds
错误的原因。该错误表明它在这一行:grid[i-1][j-1]=kb.next();
,但我不明白为什么?
答案 0 :(得分:3)
(你应该发布你的代码)但是,你的while循环一直持续到:
while(i<=height)
和
while(i<=widht)
他们应该
while(i < height)
和while(i < width)
由于数组索引以0
开头并且将继续Length - 1
,(还需要在退出内循环后重置j
值)
答案 1 :(得分:2)
这是一个简单的逻辑错误。在退出while循环(j&lt; = width)后,您没有重置j的值。作为i的下一个值的结果,j的值从最后可能的索引值开始而不是从0开始。
每次在while循环后增加i的值时,将j重置为1.
答案 2 :(得分:1)
如果不是标准练习,从1到宽度(或高度)的循环是很好的,因为你用[i-1]或[j-1]索引。
您的屏幕截图未显示的是用户(您,我猜)为“输入网格宽度”输入的内容。每个或不同的数字是相同的吗?你有没有转换第一和第二个索引?