다음 Java 프로그램의 실행 결과를 쓰시오.
public class Main {
public static void main(String[] args) {
int number = 5;
int divisor = 0;
try {
System.out.print(number / divisor);
} catch (ArithmeticException e) {
System.out.print("출력1");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.print("출력2");
} catch (Exception e) {
System.out.print("출력4");
} finally {
System.out.print("출력5");
}
}
}모범답안
출력1출력5
풀이와 판단 근거
정수 5를 0으로 나누면 ArithmeticException이 발생한다. 첫 번째 catch 블록이 실행되어 출력1이 찍힌다. finally 블록은 예외 발생 여부와 관계없이 이어서 수행된다. 출력5가 바로 붙으므로 최종 계산 결과는 출력1출력5이다.
자주 틀리는 지점
- 연산자 우선순위나 재귀 반환 순서를 생략하고 눈에 보이는 값만 바로 계산함
- 값 전달·참조 전달, 오버라이딩·오버로딩 또는 배열과 포인터의 차이를 혼동함
- 출력의 공백·줄바꿈·대소문자를 무시해 출력1출력5와 다른 형식으로 작성함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.