카테고리 없음

[JAVA] 222-17

codecodekode 2024. 10. 19. 15:34

17. 다음 자바코드에서 알맞는 출력값을 작성하시오.

public class Conv{ 
    public Conv(int a) {
        this.a = a;
    } 
    int func() {
        int b =1; 
        for (int i=1; i<a; i++){ 
             b = a * i + b 
        }
        return a +b;
    }
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3);
    obj.a=5; 
    int b = obj.func();
    system.out.print(obj.a + b);
}

1. 객체 생성 및 초기화

  • Conv obj = new Conv(3);로 Conv 객체가 생성되고, 생성자에서 a는 3으로 초기화됩니다.
  • obj.a = 5;를 통해 a의 값을 5로 변경합니다.

2. func 메서드 호출

  • int b = obj.func();를 호출합니다.

3. func 메서드 내의 로직

  • int b = 1;로 초기화합니다.
  • for (int i = 1; i < a; i++) 루프가 실행됩니다. 현재 a의 값은 5이므로, 루프는 1부터 4까지 실행됩니다.

반복 계산

  • i = 1:
    • b = 5 * 1 + 1 → b = 5 + 1 = 6
  • i = 2:
    • b = 5 * 2 + 6 → b = 10 + 6 = 16
  • i = 3:
    • b = 5 * 3 + 16 → b = 15 + 16 = 31
  • i = 4:
    • b = 5 * 4 + 31 → b = 20 + 31 = 51

4. func 메서드 반환값

  • 루프가 종료된 후, return a + b;에서:
    • return 5 + 51; → 56이 반환됩니다.

5. 최종 출력

  • System.out.print(obj.a + b);에서 obj.a는 5, b는 56입니다:
    • System.out.print(5 + 56); → 61이 출력됩니다.