【发布时间】:2010-03-23 17:52:33
【问题描述】:
我有一个无法解决的奇怪问题:
一个字段:
private boolean[][][] gaps;
构造函数(第一行):
gaps = new boolean[NOBARRICADES][WIDTH][HEIGHT];
构造函数(第 2 行):
for (int i = 0; i < NOBARRICADES; i++) {
Java 在第二行抛出一个错误,说:
线程“主”
java.lang.ArrayIndexOutOfBoundsException中的异常
这与 Java 语法有什么关系(错误出在这几行代码中)还是我应该在其他地方寻找问题?
【问题讨论】:
-
假设
NOBARRICADES在某处是一个常量 int,那么您发布的 for 循环不可能抛出异常,句号。你能发布它所做的实际代码吗? -
由于第二行没有数组引用,我怀疑你没有发布足够的代码让任何人帮助你。
-
你能告诉我们你实际索引间隙的行吗?第二行实际上不是异常的来源,您的循环声明很好。我会假设你用 i 引用了数组的错误维度。还有一个提示:不要将循环变量称为简单的东西,如 i 或 j,将它们称为有用的东西,如“index”、“inner_index”、“first_index”,任何描述性的东西,尤其是当你要嵌套循环时。