T_era

[JAVA] 문제풀이 : 자판기 만들기 본문

Programing/Java

[JAVA] 문제풀이 : 자판기 만들기

블스뜸 2025. 3. 26. 14:53
1.
사용자가 볼 수 있게 메뉴를 표시합니다.
다음과 같은 음료를 실행창에 표시합니다.
사이다 1,700원
콜라 1,900원
식혜 2,500원
솔의눈 3,000원
// 1번문제 제품 표시하기
for(String key : vending.mapDrink.keySet()){
	System.out.println(key + ":" + vending.mapDrink.get(key));
}
2.
사용자는 음료를 선택할 수 있습니다.
사용자에게 어떤 음료를 살 것인지를 입력받습니다.
ex) 사이다
목록에 없는 음료일 경우 실행이 종료됩니다.
 
 
// 2번문제 제품 선택하기
String drink = vending.SelectDrink();
if(vending.mapDrink.containsKey(drink)){
	System.out.println("선택한 음료수 : " + drink + "\n음료수의 가격 : " + vending.mapDrink.get(drink));
}
else{
	System.out.println("없는 제품 입니다.");
}
 
3.
사용자는 지불할 금액을 입력할 수 있습니다.
사용자에게 얼마를 넣을지 입력받습니다.
ex) 2000
지불하는 금액이 선택한 음료의 비용보다 작다면 “돈이 부족합니다.” 를 출력합니다
 
 
// 3번문제 금액을 입력받고 부족한지 확인하기
int money = vending.PutMoney();
if(money >= vending.mapDrink.get(drink)){
	...
}
else{
	System.out.println("잔액이 부족합니다");
}
 
4.
사용자는 음료를 구매하고 남은 잔액을 확인할 수 있습니다.
잔액을 화면에 표시합니다.
ex) 입력한 돈 2000원, 사이다 1700원 일때 300원을 잔액으로 보여줍니다.
 
int money = vending.PutMoney();
if(money >= vending.mapDrink.get(drink)){
	// 4번 문제 잔액 표시하기
    System.out.println("잔액 : " + (money - vending.mapDrink.get(drink)));
}

전체코드

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Vending {
    private Map<String, Integer> mapDrink = new HashMap<>();
    public static void main(String[] args) {
        Vending vending = new Vending();

        vending.mapDrink.put("사이다", 1700);
        vending.mapDrink.put("콜라", 1900);
        vending.mapDrink.put("식혜", 2500);
        vending.mapDrink.put("솔의눈", 3000);
        // 1번문제 제품 표시하기
        for(String key : vending.mapDrink.keySet()){
            System.out.println(key + ":" + vending.mapDrink.get(key));
        }
        // 2번문제 제품 선택하기
        String drink = vending.SelectDrink();
        if(vending.mapDrink.containsKey(drink)){
            System.out.println("선택한 음료수 : " + drink + "\n음료수의 가격 : " + vending.mapDrink.get(drink));
        }
        else{
            System.out.println("없는 제품 입니다.");
        }
        // 3번문제 금액을 입력받고 부족한지 확인하기
        int money = vending.PutMoney();
        if(money >= vending.mapDrink.get(drink)){
            // 4번 문제 잔액 표시하기
            System.out.println("잔액 : " + (money - vending.mapDrink.get(drink)));
        }
        else{
            System.out.println("잔액이 부족합니다");
        }
    }
    
    public String SelectDrink(){
        Scanner sc = new Scanner(System.in);
        return sc.next();
    }

    public int PutMoney(){
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();
    }
}

'Programing > Java' 카테고리의 다른 글

[JAVA] 문제풀이 : 가위바위보  (1) 2025.03.26
[JAVA] 문제풀이 : 단어 퀴즈 만들기  (0) 2025.03.26
[JAVA] Random 함수 사용하기  (0) 2025.03.26
[JAVA] 반복문 연습하기 3  (0) 2025.03.26
[JAVA] 반복문 연습하기 2  (0) 2025.03.26