본문 바로가기
1. Java 자바/1_0. 책, 강의

[명품 자바 프로그래밍] 3장 127쪽 체크 타임_정답

by 비소야 2022. 10. 9.
728x90

명품 자바 프로그래밍 3장 127쪽 체크 타임_정답

luxury java programming ch3 p127 check time correct answer
1번

 

답: 

// for문

1
2
3
4
5
6
7
8
9
10
11
12
13
public class P127_1_For {                           // P127_1_For 클래스 정의 시작
    public static void main(String[] args) {        // main() 메소드 정의 시작
        // 로직
        // 1. 5줄 반복
        // 2. 5번, 4번, 3번, 2번, 1번 반복
        for(int i = 5; i > 0; i--) {                // int형 변수 i 선언 동시에 5 대입하여 초기화, i가 0 보다 클 동안 반복, i에 -1
            for(int j = 0; j < i; j++) {            // int형 변수 j 선언 동시에 0 대입하여 초기화, j가 i 보다 작을 동안 반복, j에 +1
                System.out.print("*");              // System.out.print() 메소드 호출하여 문자열 "*" 출력
            }                                       // 한 줄 출력 완료, 안쪽 반복문 끝
            System.out.println();                   // System.out.println() 메소드 호출하여 줄바꿈
        }                                           // 모두 출력 완료, 바깥쪽 반복문 끝
    }                                               // main() 메소드 정의 끝
}                                                   // P127_1_For 클래스 정의 끝
cs

 

// while문

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class P127_1_While {                         // P127_1_While 클래스 정의 시작
    public static void main(String[] args) {        // main() 메소드 정의 시작
        // 변수 및 상수 선언
        int i, j;                                   // int형 변수 i, j 선언
 
        // 로직
        // 1. 5줄 반복
        // 2. 5번, 4번, 3번, 2번, 1번 반복
        i = 5;                                      // 변수 i에 5 대입
        while(i > 0) {                              // 반복제어변수 i가 0 보다 클 동안 반복
            j = 0;                                  // 변수 j에 0 대입
            while(j < i) {                          // 반복제어변수 j가 i 보다 작을 동안 반복
                System.out.print("*");              // System.out.print() 메소드 호출하여 문자열 "*" 출력
                j++;                                // j에 +1
            }                                       // 한 줄 출력 완료, 안쪽 반복문 끝
            i--;                                    // i에 -1
            System.out.println();                   // System.out.println() 메소드 호출하여 줄바꿈
        }                                           // 모두 출력 완료, 바깥쪽 반복문 끝
    }                                               // main() 메소드 정의 끝
}                                                   // P127_1_While 클래스 정의 끝
cs

 

// do while문

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class P127_1_DoWhile {                       // P127_1_DoWhile 클래스 정의 시작
    public static void main(String[] args) {        // main() 메소드 정의 시작
        // 변수 및 상수 선언
        int i, j;                                   // int형 변수 i 선언, j 선언
 
        // 로직
        // 1. 5줄 반복
        // 2. 5번, 4번, 3번, 2번, 1번 반복
        i = 5;                                      // i에 5 대입
        do {
            j = 0;                                  // j에 0 대입
            do {
                System.out.print("*");              // System.out.print() 메소드 호출하여 문자열 "*" 출력
                j++;                                // j에 +1
            } while (j < i);                        // 반복제어변수 j가 i 보다 작을 동안 반복
                                                    // 한 줄 출력 완료
            System.out.println();                   // System.out.println() 메소드 호출하여 줄바꿈
            i--;                                    // i에 -1
        } while(i > 0);                             // 반복제어변수 i가 0 보다 클 동안 반복
                                                    // 모두 출력 완료
    }                                               // main() 메소드 정의 끝
}                                                   // P127_1_DoWhile 클래스 정의 끝
cs

 

2번

 

답: 무한반복에 빠진다.

 

// 조건식이 비어있는 for문은 무한반복문이 된다. 이 무한반복을 빠져 나갈 제어변수나 증감식이 작성되어 있지 않으므로 무한반복에 빠진다.

 

3번

 

답: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class P127_3 {                                               // P127_3 클래스 정의 시작
    public static void main(String[] args) {                        // main() 메소드 정의 시작
        // 변수 및 상수 선언
        int sum = 0;                                                // int형 변수 sum 선언 동시에 0 대입하여 초기화, 즉 합
 
        // 로직
        // 1. 1부터 100까지 반복
        // 2. 3의 배수이면 합함
        for(int i = 1; i<= 100; i++) {                              // int형 변수 i 선언 동시에 1 대입하여 초기화, i가 100 보다 작거나 같을 동안 반복, i에 +1
            if(i % 3 == 0) {                                        // 만약 i를 3으로 나눈 나머지가 0이면, 즉 i가 3의 배수이면
                sum += i;                                           // sum에 i를 합함
            }
        }
 
        // 결과 출력
        System.out.println("1부터 100까지 3의 배수의 합은 " + sum);  // System.out.println() 메소드 호출하여 문자열 "1부터 100까지 3의 배수의 합은 " + sum 출력, 즉 연산 결과 출력
    }                                                               // main() 메소드 정의 끝
}                                                                   // P127_3 클래스 정의 끝
cs

 

728x90