我正在写一个单词查找游戏,但找不到 while 循环给我ArrayIndexOutOfBounds
错误的原因。错误说它在这一行: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
如果不是标准做法,将 1 循环到宽度(或高度)很好,因为您使用 [i-1] 或 [j-1] 进行索引。
您的屏幕截图未显示的是用户(我假设是您)为“输入网格宽度”输入的内容。每个人的号码是一样的还是不同的?你有没有调换第一个和第二个索引?
于 2013-02-26T06:13:57.917 回答