본문 바로가기

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

명품 자바 프로그래밍 2장 실습 / 2021.07.28

1. 마지막줄에 sc.close(); 추가 !

1
2
3
4
5
6
7
8
9
10
11
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("원화를 입력하세요(단위 원)>> ");
        int won = sc.nextInt();
        System.out.println(won+"원은 $"+won/1100.0+"입니다.");    
    }
}
 
cs


2. 마지막줄에 sc.close(); 추가 !

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        int number;
        System.out.print("2자리수 정수 입력(10~99)>> ");
        number = sc.nextInt();
        
        if(number / 10 == number % 10) {
            System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
        }
        else {
            System.out.println("No! 10의 자리와 1의 자리가 다릅니다.");
        }
    }
}
 
cs


3. 마지막줄에 sc.close(); 추가 !

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 Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("금액을 입력하시오>> ");
        int money = sc.nextInt();
        
        System.out.println("오만원권 "+money/50000+"매");
        money -= (money/50000* 50000;
        System.out.println("만원권 "+money/10000+"매");
        money -= (money/10000* 10000;
        System.out.println("천원권 "+money/1000+"매");
        money -= (money/1000* 1000;
        System.out.println("백원 "+money/100+"개");
        money -= (money/100* 100;
        System.out.println("오십원 "+money/50+"개");
        money -= (money/50* 50;
        System.out.println("십원 "+money/10+"개");
        money -= (money/10* 10;
        System.out.println("일원 "+money/1+"개");
        
    }
}
 
cs

 

4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 3개 입력>> ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        
        if((a < b && b < c) || (c < b && b < a)) { System.out.println("중간 값은 "+b);}
        else if((b < a && a < c) || (c < a && a < b)) {System.out.println("중간 값은 " + a); }
        else {System.out.println("중간 값은 " + c); }
        
        sc.close();
    }
}
 
cs


5.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 3개 입력>> ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        
        if((a+< c)||(a+< b)|| (b+< a)) {
            System.out.println("삼각형이 될 수 없습니다.");
        }
        else {
            System.out.println("삼각형이 됩니다.");
        }
        sc.close();
    }
}
 
cs


6.

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 Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("1~99 사이의 정수를 입력하시오>> ");
        int number = sc.nextInt();
        int count = 0;
        if(number % 10 == 3 || number % 10 == 6 || number % 10 == 9) {
            count++;
        }
        if(number / 10 == 3 || number / 10 == 6 || number / 10 == 9) {
            count++;
        }
        
        if(count == 1) {
            System.out.println("박수 짝");
        }
        else if(count == 2) {
            System.out.println("박수 짝짝");
        }
        sc.close();
    }
}
 
cs


7.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("점 (x,y)의 좌표를 입력하시오>> ");
        int x = sc.nextInt();
        int y = sc.nextInt();
        
        if(x >= 100 && x <= 200) {
            if(y >= 100 && y<= 200) {
                System.out.println("("+x+","+y+")는 사각형 안에 있습니다.");
            }
        }
 
        sc.close();
    }
}
 
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
package Chapter2;
import java.util.Scanner;
public class Programming {
    
    public static boolean inRect(int x, int y, int rectx1, int recty1, int rectx2, int recty2) {
        if((x >= rectx1 && x <= rectx2) && (y >= recty1 && y <= recty2))
            return true;
        else return false;
    }
    
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("점 (x,y)의 좌표를 입력하시오>> ");
        int x = sc.nextInt();
        int y = sc.nextInt();
        
        if(inRect(x, y, 100100200200== true) {
            System.out.println("충돌합니다!");
        }
        else {
            System.out.println("충돌하지 않습니다!");
        }
        sc.close();
    }
}
cs


9.

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 Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("원의 중심과 반지름 입력>> ");
        double x = sc.nextDouble();
        double y = sc.nextDouble();
        double radius = sc.nextDouble();
        
        System.out.print("점 입력>> ");
        double newx = sc.nextDouble();
        double newy = sc.nextDouble();
        
        double num = Math.sqrt(((newx - x)*(newx - x)) + ((newy - y)*(newy - y)));
        if(num < radius)
            System.out.println("점 ("+newx+","+newy+")는 원 안에 있다.");
        else
            System.out.println("점 ("+newx+","+newy+")는 원 안에 없다.");
            
        
        sc.close();
    }
}
 
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
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("첫 번째 원의 중심과 반지름 입력>> ");
        double x = sc.nextDouble();
        double y = sc.nextDouble();
        double radius = sc.nextDouble();
        
        System.out.print("두 번째 원의 중심과 반지름 입력>> ");
        double newx = sc.nextDouble();
        double newy = sc.nextDouble();
        double newradius = sc.nextDouble();
        
        double distance = Math.sqrt(((newx - x)*(newx - x)) + ((newy - y)*(newy - y)));
        if(distance < (radius+newradius))
            System.out.println("두 원은 서로 겹친다.");
        else
            System.out.println("두 원은 겹치지 않는다.");
            
        
        sc.close();
    }
}
cs

 

11.

(1) if-else문을 이용하여 프로그램을 작성하라.

 

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
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("달을 입력하세요(1~12)>> ");
        int dal = sc.nextInt();
        if(dal == 3 || dal == 4 || dal == 5 ) {
            System.out.println("봄");
        }
        else if(dal == 6 || dal == 7 || dal == 8 ) {
            System.out.println("여름");
        }
        else if(dal == 9 || dal == 10 || dal == 11 ) {
            System.out.println("가을");
        }
        else if(dal == 12 || dal == 1 || dal == 2 ) {
            System.out.println("겨울");
        }
        else {
            System.out.println("잘못입력");
        }
        sc.close();
    }
}
 
cs


(2) switch문을 이용하여 프로그램을 작성하라.

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
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("달을 입력하세요(1~12)>> ");
        int dal = sc.nextInt();
        switch(dal) {
            case 3:
            case 4:
            case 5:
                System.out.println("봄");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("여름");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("가을");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println("겨울");
                break;
            default:
                System.out.println("잘못입력");
        }
        sc.close();
    }
}
cs

 

12.
(1) 연산 식을 구분할 때 if-else문을 이용하여 프로그램을 작성하라.

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
package Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("연산>> ");
        int num1 = sc.nextInt();
        String operator = sc.next();
        int num2 = sc.nextInt();
        if(operator.equals("+")) {
            System.out.println(num1+"+"+num2+"의 계산 결과는 "+(num1+num2));
        }
        else if(operator.equals("-")) {
            System.out.println(num1+"-"+num2+"의 계산 결과는 "+(num1-num2));
        }
        else if(operator.equals("*")) {
            System.out.println(num1+"*"+num2+"의 계산 결과는 "+(num1*num2));
        }
        else if(operator.equals("/")) {
            if(num2 == 0) {
                System.out.println("0으로 나눌 수 없습니다.");
            }
            else {
                System.out.println(num1+"/"+num2+"의 계산 결과는 "+(num1/num2));
            }
        }
        
        sc.close();
    }
}
 
cs


(2) 연산 식을 구분할 때 switch문을 이용하여 프로그램을 작성하라.

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 Chapter2;
import java.util.Scanner;
public class Programming {
    public static void main(String[] agrs) {
        Scanner sc = new Scanner(System.in);
        System.out.print("연산>> ");
        int num1 = sc.nextInt();
        String operator = sc.next();
        int num2 = sc.nextInt();
        switch(operator) {
        case "+":
            System.out.println(num1+"+"+num2+"의 계산 결과는 "+(num1+num2));
            break;
        case "-":
            System.out.println(num1+"-"+num2+"의 계산 결과는 "+(num1-num2));
            break;
        case "*":
            System.out.println(num1+"*"+num2+"의 계산 결과는 "+(num1*num2));
            break;
        case "/":
            if(num2 == 0) {
                System.out.println("0으로 나눌 수 없습니다.");
            }
            else {
                System.out.println(num1+"/"+num2+"의 계산 결과는 "+(num1/num2));
            }
        }
        sc.close();
    }
}
cs