모두CBT

24-2아래 Java 프로그램을 실행하면 출력되는 내용을 적으시오.in… | 2024년 정보처리기사실기 2회차 기출문제 상세 페이지

7

24-2

아래 Java 프로그램을 실행하면 출력되는 내용을 적으시오.

interface Picker {
    int pick(int[] v, boolean hit);
}

class ThreePicker implements Picker {
    public int pick(int[] v, boolean hit) {
        int s = 0;
        for (int n : v) {
            boolean three = (n % 3 == 0);
            if (three == hit)
                s += n;
        }
        return s;
    }
}

public class Main {
    public static void main(String[] args) {
        int[] v = {2, 3, 5, 6, 9, 10, 12, 14};
        Picker p = new ThreePicker();
        System.out.print(p.pick(v, true) + " / " + p.pick(v, false));
    }
}
해설

30 / 31


[해설]

인터페이스 Picker를 구현한 ThreePicker의 pick은, 원소가 3의 배수인지(three)가 hit와 같을 때만 더한다.

  • pick(v, true): 3의 배수 3, 6, 9, 12의 합 = 30
  • pick(v, false): 나머지 2, 5, 10, 14의 합 = 31

인터페이스 타입 변수 p로 호출해도 실제 객체의 메서드가 실행된다. 출력은 30 / 31이다.

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