【发布时间】:2014-11-30 21:12:30
【问题描述】:
我需要解决一个填字游戏,一种方法是在拼图中放一个单词。 但是当我运行它时,我收到以下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 18
at CrosswordPuzzleSolver.setWord(CrosswordPuzzleSolver.java:224)
这是我的代码:
public static char[][] setWord(int[] gridSpecEntry, String wordsSpecEntry,
char[][] grid) {
if (wordsSpecEntry.length()>0&&wordsSpecEntry.length()==gridSpecEntry[2])
{
int y = gridSpecEntry[0]; //y-coordinate
int x = gridSpecEntry[1]; //x-coord
int w = gridSpecEntry[2]; //length of word
int r = gridSpecEntry[3]; //horizontal or vertical
if (r == 0) { //if is 0, you need to put in the word horizontal
for (int b = 0; b < wordsSpecEntry.length(); b++) {
grid[y][x + b] = wordsSpecEntry.charAt(b); //line 224
}
} else {
for (int a = 0; a < wordsSpecEntry.length(); a++) {
grid[y + a][x] = wordsSpecEntry.charAt(a);
}
}
}
return grid;
}
有人可以帮帮我吗?
【问题讨论】:
-
x+b和y+a可能是你的问题。 -
对于哪个输入会产生这个错误?
-
它为 SCHWIMMBAD 产生错误
-
gridSpecEntry 的输入是什么?
标签: java indexoutofboundsexception