본문 바로가기
카테고리 없음

[자바] 키오스크 lv.2

by codechu 2025. 4. 29.
package kiosk_lv2;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.InputMismatchException;


public class Main {
    public static void main(String[] args) {
        List<MenuItem> menuItems = new ArrayList<>();
        List<MenuItem> orderedItems = new ArrayList<>();

        Scanner sc = new Scanner(System.in);

        MenuItem burger1 = new MenuItem("1. ShackBurger  | W ", 6900, " | 토마토, 양상추, 쉑소스가 토핑된 치즈버거");
        MenuItem burger2 = new MenuItem("2. SmokeShack   | W ", 8900, " | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거");
        MenuItem burger3 = new MenuItem("3. Cheeseburger | W ", 6900, " | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거");
        MenuItem burger4 = new MenuItem("4. Hamburger    | W ", 5400, " | 비프패티를 기반으로 야채가 들어간 기본버거");

        menuItems.add(burger1);
        menuItems.add(burger2);
        menuItems.add(burger3);
        menuItems.add(burger4);

        for (MenuItem i : menuItems) {
            System.out.println(i);
        }
           while (true) {
               try {
                   System.out.println("메뉴번호를 입력해주세요");
                   int n = sc.nextInt();
                   if (n < 5) {
                       switch (n) {
                           case 1:
                               System.out.println(menuItems.get(0));
                               break;
                           case 2:
                               System.out.println(menuItems.get(1));
                               break;
                           case 3:
                               System.out.println(menuItems.get(2));
                               break;
                           case 4:
                               System.out.println(menuItems.get(3));
                               break;
                       }
                       if (n == 0) {
                           System.out.println("종료합니다");
                           break;
                       }
                       System.out.println();
                   }else{
                       System.out.println("숫자를 다시 확인해주세요");
                   }
                   orderedItems.add(menuItems.get(n - 1)); // n은 1부터 시작하니까 -1, n-1 = 인덱스 번호
               }
                catch(Exception e){
                       System.out.println("숫자로 입력해주세요");
                       sc.next();
                   }
        }
        System.out.println("---------------- 주문한 메뉴 내역---------------- ");
           for (MenuItem item : orderedItems) {
               System.out.println(item);
           }


       }


    }

 

package kiosk_lv2;

public class MenuItem {// 햄버거만 관리
    //속성
    private String name;
    private int price;
    private String burgerInfo;


    //생성자
    MenuItem() {

    }

    MenuItem(String name, int price, String burgerInfo) {
        this.name = name;
        this.price = price;
        this.burgerInfo = burgerInfo;

    }

    //기능
   @Override
    public String toString() {
        return name + price + burgerInfo;
    }
}