-1
1D에서 셀룰러 자동 입력 기능을 수행하는 프로그램을 만들려고합니다. 이를 위해 한 줄에서 3 개의 변수를 읽어야합니다. 변수 중 하나 인 "L"은 "currentGeneration"의 배열 길이를 결정합니다. 그러나 ArrayIndexOut ... 오류가 발생합니다. 나는 배열 인덱스가 있으므로이 개 값을 저장하는 배열을 저장합니다 0에서 시작하기 때문에 [2] 잘못 인이 내 배열의 차원과 액세스 값을 시도왜 ArrayIndexOutOfBoundsException 2 오류가 발생하는지 이해하지 못합니다.
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];
}
}
'values [i]'는'i = 0,1' (size = 2)에만 존재하기 때문에 – nullpointer
인덱스가 없습니다. 배열은 '0'과'1' 인덱스를 가지고 있습니다. – Berger
그리고 XLZG mean ** nothing **과 같은 이름을보십시오. 하나의 대문자를 * anything *의 이름으로 사용하는 정당한 이유는 없습니다. 따라서 : Java 명명 규칙에 대해 읽고 그것을 연습 해보십시오. – GhostCat