我正在尝试制作一个在1D中进行细胞自动机的程序。为此,我需要从一行读取三个变量。其中一个变量“L”确定“currentGeneration”的数组长度。但是我得到了ArrayIndexOut ...错误。我认为这与我的数组的维度和变量L.
有关public class Cellulitissss {
int L;
Scanner sc = new Scanner(System.in);
Boolean[] currentGeneration;
String automaton;
int G;
String X;
String Z;
public void readGeneral() {
String[] values = new String[2];
for (int i = 0; i < 3; i++) {
values[i] = sc.next();
}
automaton = values[0];
X = values[1];
Z = values[2];
L = Integer.parseInt(X);
G = Integer.parseInt(Z);
currentGeneration = new Boolean[L + 1];
}
}
答案 0 :(得分:0)
您尝试访问错误的值[2],因为数组索引从0开始,因此存储2个值的数组会将它们存储在位置a [0]和[1](如果a是您的数组名称)。因此,尝试访问[2]将使数组索引超出范围异常