🍀 본격적으로 시작해볼까요?
자바 코드를 이용해 자판기를 만들어 봅시다.
1. 사용자가 볼 수 있게 메뉴를 표시합니다.
다음과 같은 음료를 실행창에 표시합니다.
2. 사용자는 음료를 선택할 수 있습니다.
사용자에게 어떤 음료를 살 것인지를 입력받습니다.
목록에 없는 음료일 경우 실행이 종료됩니다.
3. 사용자는 지불할 금액을 입력할 수 있습니다.
사용자에게 얼마를 넣을지 입력받습니다.
지불하는 금액이 선택한 음료의 비용보다 작다면 “돈이 부족합니다.” 를 출력합니다
4. 사용자는 음료를 구매하고 남은 잔액을 확인할 수 있습니다.
잔액을 화면에 표시합니다.
import java.util.Map;
import java.util.Scanner;
public class VendingMachine {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Map<String, Integer> products = Map.of(
"사이다", 1700,
"콜라", 1900,
"식혜", 2500,
"솔의눈", 3000);
// 1-1. 메뉴 표시
System.out.println("=======[Menu]=======");
for (Map.Entry<String, Integer> prod : products.entrySet()) {
System.out.println(prod.getKey() + ": " + prod.getValue() + "원");
}
System.out.println("====================");
// 2-1. 사용자 음료 선택
System.out.print("살 음료를 입력해 주세요: ");
String input = scanner.nextLine();
// 2-2. 목록에 없는 음료일 경우 실행 종료
if (!products.containsKey(input)) {
System.out.println("목록에 없는 음료입니다.");
return;
}
// 3-1. 지불 금액 입력
System.out.print("지불 금액을 입력해 주세요(숫자만 입력): ");
int pay = scanner.nextInt();
scanner.nextLine(); // nextInt를 입력받은 후 Scanner 개행문자 제거
int price = products.get(input); // 선택한 음료의 비용
if (pay < price) {
// 3-2. 지불금액 < 선택한 음료의 비용
System.out.println("돈이 부족합니다.");
} else {
// 4-1. 남은 잔액 표시
int charge = pay - price;
System.out.println("지불한 돈: " + pay + "원, 잔액: " + charge + "원");
}
}
}
2-2. 목록에 없는 음료일 경우, 실행 종료

3-2. 지불금액이 선택한 음료의 비용보다 작을 경우, "돈이 부족합니다" 표시

4-1. 남은 잔액 표시
