【发布时间】:2016-11-25 18:48:01
【问题描述】:
所以我在检查是否有垂直连接 4 的代码时一直遇到问题。我的代码前言:棋盘有 6 行 7 列,变量 player1 保存用作筹码的角色的值,而 playerID 仅保存获得连接 4 的人的值。
public int verticalWin() {
int playerID = 0;
for (int x = 0; x < board[x].length; x++) {
int count = 1;
for (int y = board.length-2; y >= 0; y--) {
if (board[y][x] == board[y+1][x]) {
count++;
if (count == 4) {
if (board[y][x] == player1) {
playerID = 1;
} else {
playerID = 2;
}
}
} else {
count = 1;
}
}
}
return playerID;
}
我一直遇到的问题是 java.lang.ArrayIndexOutOfBoundsException: 6 不断发生异常,我认为它在第一行,但我似乎找不到问题。
【问题讨论】:
-
我认为它在第一行:堆栈跟踪会准确地告诉您是哪一行引发了该异常。不要猜测。阅读堆栈跟踪。然后使用你的调试器一步一步地遍历代码,并观察变量的值。
-
嗯,根据堆栈跟踪它是第一行,但我说我认为是因为我找不到错误。
-
问题是 x
标签: java algorithm loops methods