조건문을 이용하여 간단한 자판기 프로그램을 만드는 예제입니다.


Q. 금액을 입력하고 메뉴를 고른 뒤 잔돈을 출력하는 프로그램입니다.

잔돈을 줄 때 천원, 오백원, 백원짜리 몇개를 줘야하는지 계산하여 출력하세요.

입력한 금액이 선택한 메뉴의 가격보다 부족하면 돈이 부족하다는 문장을 출력하세요.


실행 결과



if문을 이용한 정답 코드

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
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int money, choice, change = 0// 넣은 금액, 메뉴 선택, 잔돈
        int cola = 800// 콜라
        int water = 500// 생수
        int vitaminWater = 1500// 비타민워터
        int oneThousandWon, fiveHundredWon, oneHundredWon = 0// 천원, 오백원, 백원
        
        // 금액 입력
        System.out.println("금액을 입력하세요.");
        money = sc.nextInt();
        
        // 메뉴 입력
        System.out.println("메뉴를 고르세요");
        System.out.print("1.콜라(800원) 2.생수(500원) 3.비타민워터(1500원) >> ");
        choice = sc.nextInt();
 
        // 메뉴 선택 후 잔돈 구하기, 돈이 부족한지 확인
        if (choice==1 && money>cola) {
            change = money - cola;
        } else if (choice==2 && money>water) {
            change = money - water;
        } else if (choice==3 && money>vitaminWater) {
            change = money - vitaminWater;
        } else {
            change = money;
            System.out.println("돈이 부족해요 ㅠㅠ");
        }
        
        System.out.println("잔돈 : " + change + "원");
        
        oneThousandWon = change/1000;
        fiveHundredWon = change%1000/500;
        oneHundredWon = change%1000%500/100;
        System.out.print("천원 : " + oneThousandWon + "개, " );
        System.out.print("오백원 : " + fiveHundredWon + "개, ");
        System.out.println("백원 : " + oneHundredWon + "개");
        
    }
 
}
cs




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
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
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        // 자판기 프로그램
        
        // 사용자 금액, 메뉴, 음료가격 변수
        int inMoney=0;
        int menuNum=0;
        int price=0;
        
        // 천원, 오백원, 백원 변수
        int m1000=0;
        int m500=0;
        int m100=0;
        
        Scanner sc = new Scanner(System.in);
        
        System.out.println("금액을 입력하시오.");
        inMoney = sc.nextInt();
        
        System.out.println("메뉴를 고르세요");
        System.out.print("[1] 콜라(800원) [2] 생수(500원) [3] 비타민워터(1500원) >> ");
        menuNum = sc.nextInt();
        
        switch (menuNum) {
        case 1:
            price = 800;
            break;
        case 2:
            price = 500;
            break;
        case 3:
            price = 1500;
            break;
        default:
            System.out.println("해당 메뉴는 없습니다.");
            break;
        }
        
        // 입력한 금액이 음료 가격보다 작은지 판별
        if (inMoney<price) {
            System.out.println("돈이 부족해요 ㅠ.ㅠ");
        } else {
            inMoney -= price;
        }
        
        System.out.println("잔돈 : " + inMoney);
        
        // 천원, 오백원, 백원 개수 구하기
        m1000 = inMoney/1000;
        inMoney %= 1000;
        m500 = inMoney/500;
        inMoney %= 500;
        m100 = inMoney/100;
        
        System.out.println("천원 : " + m1000 + "개, 오백원 : " + m500 + "개, 백원 : " + m100 + "개");
        
    }
 
}
 

cs


+ Recent posts