我不明白为什么我得到一个ArrayIndexOutOfBoundsException 2错误

时间:2017-09-25 15:08:30

标签: java automata

我正在尝试制作一个在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];
    }
}

1 个答案:

答案 0 :(得分:0)

您尝试访问错误的值[2],因为数组索引从0开始,因此存储2个值的数组会将它们存储在位置a [0]和[1](如果a是您的数组名称)。因此,尝试访问[2]将使数组索引超出范围异常