25-1아래 Java 프로그램을 실행하면 화면에 무엇이 찍히는지 적으시… | 2025년 정보처리기사실기 1회차 기출문제 상세 페이지
15
25-1
아래 Java 프로그램을 실행하면 화면에 무엇이 찍히는지 적으시오.
public class Main {
public static void main(String[] args) {
int[] box = {8, 4, 0, 2};
int total = 0;
for (int k = 0; k < box.length; k++) {
try {
total += 16 / box[k];
System.out.print("P");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.print("Q");
} catch (ArithmeticException e) {
System.out.print("R");
} catch (Exception e) {
System.out.print("S");
} finally {
System.out.print(k);
}
}
System.out.println(" " + total);
}
}해설
P0P1R2P3 14
[해설]
반복마다 try 블록이 끝난 뒤 finally가 반드시 실행되어 인덱스 k가 찍힌다.
- k=0: 16/8=2, total=2 → "P0"
- k=1: 16/4=4, total=6 → "P1"
- k=2: 16/0에서 ArithmeticException 발생 → 두 번째 catch의 "R", 이어서 finally의 "2"
- k=3: 16/2=8, total=14 → "P3"
예외가 난 k=2에서는 덧셈이 수행되지 않아 total은 2+4+8=14다. 마지막 줄까지 합치면 P0P1R2P3 14가 출력된다.
catch는 위에서부터 차례로 검사해 처음 맞는 하나만 실행하며, 예외가 나도 반복문은 멈추지 않고 다음 k로 넘어간다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.