모두CBT

20-4아래 Java 프로그램의 [실행 결과]를 참고해 빈칸 ①, ②에… | 2020년 정보처리기사실기 4회차 기출문제 상세 페이지

11

20-4

아래 Java 프로그램의 [실행 결과]를 참고해 빈칸 ①, ②에 들어갈 값을 적으시오. (단, 배열은 반복문이 접근하는 범위에 꼭 맞는 최소 크기로 선언한다.)

public class Main {
    public static void main(String[] args) {
        int[][] tbl = new int[ ① ][ ② ];
        for (int r = 0; r < 4; r++) {
            for (int c = 0; c < 3; c++) {
                tbl[r][c] = c * 4 + r + 1;
                System.out.print(tbl[r][c] + " ");
            }
            System.out.println();
        }
    }
}

[실행 결과]

1 5 9
2 6 10
3 7 11
4 8 12
해설

① 4

② 3


[해설]

바깥 반복 r이 0~3(4회), 안쪽 반복 c가 0~2(3회) 돌며 tbl[r][c]에 접근하므로 배열은 4행 3열이어야 한다.

값은 c×4 + r + 1이라 열이 하나 넘어갈 때마다 4씩 커진다. 예컨대 r=1, c=2이면 2×4+1+1=10이다.

따라서 ①은 4, ②는 3이다. 크기를 더 작게 잡으면 ArrayIndexOutOfBoundsException이 난다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.