Java

[Java] 잔돈 교환기 및 자판기 Vending Machine (Scanner / if ~ else if 문 활용)

소댓 2023. 3. 9. 18:13

 

* 잔돈 교환기

 

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
package day05quiz;
import java.util.Scanner;
public class Day05Q8 {
 
    public static void main(String[] args) {
        
        // 잔돈 교환기
        
        // 1. 여러 자리 숫자를 입력 받는다.
        Scanner sc = new Scanner(System.in);
        
        System.out.println("입력 : "); 
                                    
        int money = sc.nextInt();
        System.out.println("입력값 : " + money);
        
        // 2. 화폐 단위로 
        int m50000 = money/50000;        // 67921 / 50000 ==> 1
        int m10000 = money&50000/10000;  // 17921 / 10000 ==> 1
        int m5000 = money%10000/5000;    // 7921 / 5000 ==> 1
        int m1000 = money%5000/1000;     // 2921/1000 ==> 2
        int m500 = money%1000/500;       // 921/500 ===> 1
        int m100 = money%500/100;         // 421/100 ==> 4
        int m50 = money%100/50;             // 21/50 ==> 0
        int m10 = money%50/10;             // 21/10 ==> 2
        int m1 = money%10/1;             // 1/1 ==> 1
        
        System.out.println("50000권 : " + m50000 + "매");
        System.out.println("10000권 : " + m10000 + "매");
        System.out.println("5000권 : " + m5000 + "매");
        System.out.println("1000권 : " + m1000 + "매");
        System.out.println("500원 : " + m500 + "개");
        System.out.println("100원 : " + m100 + "개");
        System.out.println("50원 : " + m50 + "개");
        System.out.println("10원 : " + m10 + "개");
        System.out.println("1원 : " + m1 + "개");
    }
 
}
 
cs

 

 

* Vending Machine(자판기)

 

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
68
69
70
71
72
73
package day05quiz;
import java.util.Scanner;
public class DayQ9 {
 
    public static void main(String[] args) {
        
        // 1. 사용자로부터 숫자를 입력 받는다.
        Scanner sc = new Scanner(System.in);
        System.out.println("동전을 입력하세요 : ");
        
        int money = sc.nextInt();
        
        // 2. 메뉴를 선택하게 한다.
        System.out.println("1. 콜라 : 1200");
        System.out.println("2. 사이다 : 1600");
        System.out.println("3. 맥주 : 2500");
        System.out.println("메뉴를 선택하세요 : ");
        int menu = sc.nextInt();
        
        // 3. 수량을 입력 받는다.
        System.out.println("몇개? : ");
        int cnt = sc.nextInt();
        
        // System.out.println(money + ":" + menu + ":" + cnt);
        // 4. 물건 가격을 계산한다.
        int price = 0;
        if(menu ==1) {
            price = 1200*cnt;
            System.out.println("콜라 "+cnt+"개");
        } else if (menu == 2) {
            price = 1600*cnt;
            System.out.println("사이다 "+cnt+"개");
        } else if (menu == 3) {
            price = 2500*cnt; }
            System.out.println("멕주 "+cnt+"개");
        // 5. 입력받은 동전(돈) 에서 물건 가격을 차감한다.
        // 6. 이때 물건 가격이 더 비싸면 잔액부족 메세지를 출력하고 동전은 반환한다.
        // 7. 그렇지 않으면 
        //    물건 출력 메시지를 내보낸 후 잔돈을 반환한다.
        if (money - price < 0) {
            System.out.println("잔액이 부족합니다.");
            System.out.println(money+"원을 반환합니다.");
        } else {
            money -= price;
            System.out.println("잔돈 : "+money+"입니다.");
 
            int m50000 = money/50000;        // 67921 / 50000 ==> 1
            int m10000 = money%50000/10000;  // 17921 / 10000 ==> 1
            int m5000 = money%10000/5000;    // 7921 / 5000 ==> 1
            int m1000 = money%5000/1000;     // 2921/1000 ==> 2
            int m500 = money%1000/500;       // 921/500 ===> 1
            int m100 = money%500/100;         // 421/100 ==> 4
            int m50 = money%100/50;             // 21/50 ==> 0
            int m10 = money%50/10;             // 21/10 ==> 2
            int m1 = money%10/1;             // 1/1 ==> 1
            
            if (m50000 > 0 ) System.out.println("50000권 : " + m50000 + "매");
            if (m10000 > 0 )System.out.println("10000권 : " + m10000 + "매");
            if (m5000 > 0 ) System.out.println("5000권 : " + m5000 + "매");
            if (m1000 > 0 ) System.out.println("1000권 : " + m1000 + "매");
            if (m500 > 0 ) System.out.println("500원 : " + m500 + "개");
            if (m100 > 0 ) System.out.println("100원 : " + m100 + "개");
            if (m50 > 0 ) System.out.println("50원 : " + m50 + "개");
            if (m10 > 0 ) System.out.println("10원 : " + m10 + "개");
            if (m1 > 0 )System.out.println("1원 : " + m1 + "개");
        }
 
        
    
    }
 
}
 
cs