자바 배열 선언방법에 대해 궁금합니다
조회수 2302회
ragged array을 선언(gradeHeights)한 다음 배열에 값을 입력(setData)하는 코드입니다.
int[][] gradeHeights = new int[5][];
까지는 문제가 없는데 그 아래로 2차원 배열의 길이를 지정하면 계속해서 문제가 생깁니다.
import java.util.Scanner;
public class ManagerHeight {
Scanner scan = new Scanner(System.in);
public static void main(String[] args){
ManagerHeight manager = new ManagerHeight();
manager.setData(manager.gradeHeights);
}
int[][] gradeHeights = new int[5][];
gradeHeights[0] = new int[5];
gradeHeights[1] = new int[4];
gradeHeights[2] = new int[4];
gradeHeights[3] = new int[3];
gradeHeights[4] = new int[5];
public void setData(int[][] clss){
for(int i=0; i<4; i++){
for(int k=0; k<gradeHeights[i].length; k++){
System.out.println(1+i+"반 "+(1+k)+"번 학생의 키는?");
clss[i][k] = scan.nextInt();
}
}
}
}
댓글 입력