본문 바로가기
JAVA/sparta

[sparta lecture] - 개인과제 (키오스크)

by nam_ji 2024. 1. 4.

스파르타코딩클럽 개인 과제 (키오스크)

과제소개

  • 내가 좋아하는 음식점의 키오스크를 만들기
  • 지금까지 배워온 Java 언어를 사용하여 키오스크 프로그램을 만들어보기
    • 메뉴판을 보고 주문할 수 있는 Java 프로그램
    • 화면은 System.out.println() 메소드를 사용하여 출력
    • 메뉴 클래스와 주문 클래스를 사용하여 Java의 핵심 기능인 상속을 최대한 사용
    • 내가 좋아하는 메뉴들로 다양하게 구성해보기

요구사항

  • 메뉴 클래스는 이름, 설명 필드를 가지는 클래스로 만들기
  • 상품 클래스는 이름, 설명, 가격 필드를 가지는 클래스로 만들기
  • 상품 클래스의 이름, 설명은 메뉴 클래스를 상속 받아서 사용하기
  • 주문 클래스도 만들어 상품 객체를 담을 수 있도록 해보기

1. 메인 메뉴판

  • 메인 메뉴판이 출력되면 메뉴판에는 상품 메뉴가 출력됩니다.
  • 상품 메뉴는 간단한 설명과 함께 출력되며 최소 3개 이상 출력됩니다.
  • 상품 메뉴 아래에는 Order(주문)와 Cancel(취소) 옵션을 출력해줍니다
  • "SHAKESHACK BURGER 에 오신걸 환영합니다."
    아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
    
    [ SHAKESHACK MENU ]
    1. Burgers         | 앵거스 비프 통살을 다져만든 버거
    2. Forzen Custard  | 매장에서 신선하게 만드는 아이스크림
    3. Drinks          | 매장에서 직접 만드는 음료
    4. Beer            | 뉴욕 브루클린 브루어리에서 양조한 맥주
    
    [ ORDER MENU ]
    5. Order       | 장바구니를 확인 후 주문합니다.
    6. Cancel      | 진행중인 주문을 취소합니다.​​

2. 상품 메뉴판 화면

  • 상품 메뉴 선택 시 해당 카테고리의 메뉴판이 출력됩니다.
  • 메뉴판에는 각 메뉴의 이름과 가격과 간단한 설명이 표시됩니다.
  •  "SHAKESHACK BURGER 에 오신걸 환영합니다."
    아래 상품메뉴판을 보시고 상품을 골라 입력해주세요.
    
    [ Burgers MENU ]
    1. ShackBurger   | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거
    2. SmokeShack    | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거
    3. Shroom Burger | W 9.4 | 몬스터 치즈와 체다 치즈로 속을 채운 베지테리안 버거
    3. Cheeseburger  | W 6.9 | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거
    4. Hamburger     | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거

3. 구매 화면

  • 상품 선택 시 해당 상품을 장바구니에 추가할지 확인하는 문구가 출력됩니다.
  • 확인 입력 시 장바구니에 추가되었다는 안내 문구와 함께 메인 메뉴로 다시 출력됩니다.
  • "Hamburger     | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거"
    위 메뉴를 장바구니에 추가하시겠습니까?
    1. 확인        2. 취소
    
    ------------------------------------------------------------------------------
    
    Hamburger 가 장바구니에 추가되었습니다.
    
    "SHAKESHACK BURGER 에 오신걸 환영합니다."
    아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
    
    [ SHAKESHACK MENU ]
    1. Burgers         | 앵거스 비프 통살을 다져만든 버거
    2. Forzen Custard  | 매장에서 신선하게 만드는 아이스크림
    3. Drinks          | 매장에서 직접 만드는 음료
    4. Beer            | 뉴욕 브루클린 브루어리에서 양조한 맥주
    
    [ ORDER MENU ]
    5. Order       | 장바구니를 확인 후 주문합니다.
    6. Cancel      | 진행중인 주문을 취소합니다.

4. 주문 화면

  • order 입력 시 장바구니 목록을 출력해줍니다.
  • 장바구니에서는 추가된 메뉴들과 총 가격의 합을 출력해줍니다.
  • 주문 입력 시 주문완료 화면으로 넘어가고, 메뉴판 입력 시 다시 메인 메뉴로 돌아옵니다.
  • 아래와 같이 주문 하시겠습니까?
    
    [ Orders ]
    ShackBurger   | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거
    SmokeShack    | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거
    
    [ Total ]
    W 15.8
    
    1. 주문      2. 메뉴판

5. 주문완료 화면

  • 주문 입력 시 대기번호를 발급해줍니다.
  • 장바구니는 초기화되고 3초 후에 메인 메뉴판으로 돌아갑니다.
  • 주문이 완료되었습니다!
    
    대기번호는 [ 1 ] 번 입니다.
    (3초후 메뉴판으로 돌아갑니다.)
    
    --------------------------------------------------
    
    "SHAKESHACK BURGER 에 오신걸 환영합니다."
    아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
    
    [ SHAKESHACK MENU ]
    1. Burgers         | 앵거스 비프 통살을 다져만든 버거
    2. Forzen Custard  | 매장에서 신선하게 만드는 아이스크림
    3. Drinks          | 매장에서 직접 만드는 음료
    4. Beer            | 뉴욕 브루클린 브루어리에서 양조한 맥주
    
    [ ORDER MENU ]
    5. Order       | 장바구니를 확인 후 주문합니다.
    6. Cancel      | 진행중인 주문을 취소합니다.

6. 주문 취소 화면

  • 메뉴판에서 Cancel 입력 시 주문을 취소할지 확인을 요청하는 문구가 출력됩니다.
  • 확인을 입력하면 장바구니는 초기화되고 취소 완료 문구와 함께 메뉴판이 출력됩니다.
  • 진행하던 주문을 취소하시겠습니까?
    1. 확인        2. 취소
    
    ------------------------------------------------------------
    
    진행하던 주문이 취소되었습니다.
    
    "SHAKESHACK BURGER 에 오신걸 환영합니다."
    아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
    
    [ SHAKESHACK MENU ]
    1. Burgers         | 앵거스 비프 통살을 다져만든 버거
    2. Forzen Custard  | 매장에서 신선하게 만드는 아이스크림
    3. Drinks          | 매장에서 직접 만드는 음료
    4. Beer            | 뉴욕 브루클린 브루어리에서 양조한 맥주
    
    [ ORDER MENU ]
    5. Order       | 장바구니를 확인 후 주문합니다.
    6. Cancel      | 진행중인 주문을 취소합니다.