본문 바로가기

자바/명품 자바 프로그래밍

명품 자바 프로그래밍 3장 실습 문제 / 2021.07.29

1.
(1) 무엇을 계산하는 코드이며 실행 결과 출력되는 내용은?
i를 0부터 99까지 짝수만 더하는 코드이다.
실행결과 : 2450

(2) 위의 코드를 main( ) 메서드로 만들고 WhileTest 클래스로 완성하라.

1
2
3
4
5
6
7
8
9
10
11
12
package Chapter3;
 
public class WhileTest {
    public static void main(String[] args) {
        int sum = 0, i = 0;
        while(i < 100) {
            sum = sum + i;
            i += 2;
        }
        System.out.println(sum);
    }
}
cs

 



(3) for 문을 이용하여 동일하게 실행되는 ForTest 클래스를 작성하라.

1
2
3
4
5
6
7
8
9
10
11
12
13
package Chapter3;
 
public class ForTest {
    public static void main(String[] args) {
        int sum = 0;
        for(int i = 0; i < 100; i+=2) {
            sum += i;
        }
        System.out.println(sum);
    }
}
 
 
cs


(4) do-while 문을 이용하여 동일하게 실행되는 DoWhileTest 클래스를 작성하라.

1
2
3
4
5
6
7
8
9
10
11
12
13
package Chapter3;
 
public class DoWhileTest {
    public static void main(String[] args) {
        int sum = 0, i = 0;
        do {
            sum += i;
            i += 2;
        }while(i < 100);
        System.out.println(sum);
    }
}
 
cs



2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package Chapter3;
 
public class Programming {
    public static void main(String[] args) {
        int n [][] = {{1}, {1,2,3}, {1}, {1,2,3,4}, {1,2}};
        for(int i = 0; i < n.length; i++) {
            for(int j = 0; j < n[i].length; j ++) {
                System.out.print(n[i][j]+" ");
            }
            System.out.println();
        }
    }
}
 
 
cs


3.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package Chapter3;
import java.util.Scanner;
 
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수를 입력하시오>> ");
        int num = sc.nextInt();
        for(int i = 0; i < num; i++) {
            for(int j = num-i; j > 0; j--) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
cs


4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package Chapter3;
import java.util.Scanner;
 
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("소문자 알파벳 하나를 입력하시오>> ");
        char alpha = sc.next().charAt(0);
        
        for(int i = 0; i <= alpha - 'a'; i++) {
            for(char j = 'a'; j <= alpha-i ; j++) {
                System.out.print(j);
            }
            System.out.println();
        }
    }
}
cs


5.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package Chapter3;
import java.util.Scanner;
 
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int [] array = new int [10];
        
        System.out.print("양의 정수 10개를 입력하시오>> ");
        for(int i = 0; i < array.length; i++) {
            array[i] = sc.nextInt();
        }
        
        System.out.print("3의 배수는 ");
        for(int i =0; i< array.length; i++) {
            if(array[i] % 3 == 0) {
                System.out.print(array[i] + " ");
            }
        }
    }
}
cs


6.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Chapter3;
import java.util.Scanner;
 
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int [] unit = {5000010000100050010050101};
        
        System.out.print("금액을 입력하시오>> ");
        int money = sc.nextInt();
        
        for(int i = 0; i < unit.length; i++) {
            if((money/unit[i]) != 0)
                System.out.println(unit[i]+"원 짜리 : "+(money/unit[i])+"개");
                money %= unit[i];
        }
        
        sc.close();
    }
}
cs


7.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package Chapter3;
 
public class Programming {
    public static void main(String[] args) {
        int [] array = new int [10];
        double sum = 0;
        
        System.out.print("랜덤한 정수들 : ");
        for(int k = 0; k < array.length; k++) {
            array[k] = (int)(Math.random()*10 + 1);
            System.out.print(array[k]+" ");
            sum += array[k];
        }
        System.out.println();
        System.out.println("평균은 "+(sum/array.length));
        
    }
}
cs


8.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package Chapter3;
import java.util.Scanner;
 
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 몇개? ");
        int number = sc.nextInt();
        int [] array = new int [number];
        
        for(int i = 0; i < array.length; i++) {
            array[i] = (int)(Math.random()*100 + 1);
            
            for(int j = 0; j<i; j++) {
                if(array[i] == array[j])
                    i--;
            }    
        }
        
        for(int i =0; i<array.length; i++) {
            System.out.print(array[i]+" ");
            if((i+1) % 10 == 0)
                System.out.println();
        }
        
        
    }
}
cs


9.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package Chapter3;
 
public class Programming {
    public static void main(String[] args) {
        int array [][] = new int [4][4];
        for(int i = 0; i < 4; i++) {
            for(int j = 0; j <4; j++) {
                array[i][j] = (int)(Math.random()*10 + 1);
                System.out.printf("%2d ", array[i][j]);
            }
            System.out.println();
        }
    }
}
cs


10.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package Chapter3;
 
public class Programming {
    public static void main(String[] args) {
        int array [][] = new int [4][4];
        int count = 0;
        
        for(int i = 0; i<array.length; i++) {
            for(int j = 0; j<array[i].length; j++) {
                array[i][j] = 0;
            }
        }
        
        while(count < 10) {
            int row = (int)(Math.random()*4);
            int col = (int)(Math.random()*4);
            
            if(array[row][col] != 0) {
                continue;
            }
            else {
                array[row][col] = (int)Math.round(Math.random()*9+1);
                count++;
            }
        }
        
        for(int i =0; i <array.length; i++) {
            for(int j=0; j<array[i].length; j++) {
                System.out.print(array[i][j]+"\t");
            }
            System.out.println();
        }
    }
}
 
cs


11~12번 건너 뛰겠습니다.


13.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package Chapter3;
 
public class Programming {
    public static void main(String[] args) {
        int i = 1;
        while(i < 100) {
            int count = 0;
            if((i/10==3|| (i/10)==6 || (i/10)==9)
                count++;
            if((i%10==3|| (i%10)==6 || (i%10)==9)
                count++;
            
            if(count == 1) {
                System.out.println(i +" 박수 짝");
            }
            if(count == 2) {
                System.out.println(i +" 박수 짝짝");
            }
            i++;
        }
    }
}
cs



14.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package Chapter3;
import java.util.Scanner;
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String course [] = {"Java""C++""HTML5""컴퓨터구조""안드로이드"};
        int score [] = {9588766255};
        int count = 0;
        while (true) {
            System.out.print("과목 이름 >> ");
            String name = sc.nextLine();
            if(name.equals("그만"))
                break;
            
            for(int i = 0; i<course.length; i++) {
                if(course[i].equals(name)) {
                    System.out.println(course[i]+"의 점수는 "+score[i]);
                    count ++;
                } 
            }
            
            if(count == 0)
                System.out.println("없는과목입니다.");
            
        }
        
        sc.close();
    }
}
cs
 


15.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package Chapter3;
import java.util.Scanner;
import java.util.InputMismatchException;
public class Programming {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while(true) {
            System.out.print("곱하고자 하는 두 수 입력>>");
            try {
                int n = sc.nextInt();
                int m = sc.nextInt();
                System.out.print(n + "X" + m +"="+ n*m);
                break;
            }catch(InputMismatchException e) {
                System.out.println("실수는 입력하면 안됩니다.");
                sc.nextLine();
                continue;
            }
        }
        sc.close();
    }
}
 
 
cs


16.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package Chapter3;
import java.util.Scanner;
public class Programming {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String str[]= {"가위","바위","보"};
        
        System.out.println("컴퓨터와 가위 바위 보 게임을 합니다.");
        System.out.print("가위 바위 보!>> ");
        String op=sc.next();
        while(!op.equals("그만")) {
            int n=(int)(Math.random()*3);
            System.out.print("사용자 = "+op+" , 컴퓨터 = "+str[n]+" , ");
            if(n==0){
                switch(op) {
                case "가위":
                    System.out.println("비겼습니다.");
                    break;
                case "바위":
                    System.out.println("사용자가 이겼습니다.");
                    break;
                case "보":
                    System.out.println("컴퓨터가 이겼습니다.");
                    break;
                default:
                    break;
                }
            }
            else if(n==1) {
                switch(op) {
                case "가위":
                    System.out.println("컴퓨터가 이겼습니다.");
                    break;
                case "바위":
                    System.out.println("비겼습니다.");
                    break;
                case "보":
                    System.out.println("사용자가 이겼습니다.");
                    break;
                default:
                    break;
                }
            }
            else {
                switch(op) {
                case "가위":
                    System.out.println("사용자가 이겼습니다.");
                    break;
                case "바위":
                    System.out.println("컴퓨터가 이겼습니다.");
                    break;
                case "보":
                    System.out.println("비겼습니다.");
                    break;
                default:
                    break;
                }
            }
            System.out.print("가위 바위 보!>>");
            op=sc.next();
            
        }
        
        sc.close();
        
    }
}
cs