[7급 국가직 프로그래밍언어론 2013년 18번]

다음 Java 프로그램의 실행 결과로 옳은 것은?
public class FourTimes {
    private static int j = 0; 

    public static boolean methodB(int k) {
        j += k;
        return true;
    }

    public static void methodA(int i) {
        boolean b;
        b = (i<10 | methodB(4)) &&
(i<10 || methodB(4));
    }

    static void methodC() {
        try {
            methodD();
            methodB(4);
        } catch (ArithmeticException e) {
            methodB(4);
        } catch (NullPointerException e) {
            methodB(4);
        } catch (Exception e) {
            methodB(4);
        } finally {
            methodB(4);
        }
    }

    static void methodD() {
        throw new NullPointerException();
    }

    public static void main(String[ ] args) {
        methodA(0);  
        try {
            methodC();
        } catch (Exception e) {  
            methodA(10);
        }
        System.out.println(j);
    }
}
프로그래밍언어론
  1. ①8
  2. ②12
  3. ③16
  4. ④20

선지를 골라 바로 채점해 보세요.

정답 ②

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고