<aside> 💡 필수 요구사항
</aside>
"SHAKESHACK BURGER 에 오신걸 환영합니다."
아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
[ SHAKESHACK MENU ]
1. Burgers | 앵거스 비프 통살을 다져만든 버거
2. Forzen Custard | 매장에서 신선하게 만드는 아이스크림
3. Drinks | 매장에서 직접 만드는 음료
4. Beer | 뉴욕 브루클린 브루어리에서 양조한 맥주
[ ORDER MENU ]
5. Order | 장바구니를 확인 후 주문합니다.
6. Cancel | 진행중인 주문을 취소합니다.
"SHAKESHACK BURGER 에 오신걸 환영합니다."
아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.
[ SHAKESHACK MENU ]
1. Burgers | 앵거스 비프 통살을 다져만든 버거
2. Forzen Custard | 매장에서 신선하게 만드는 아이스크림
3. Drinks | 매장에서 직접 만드는 음료
4. Beer | 뉴욕 브루클린 브루어리에서 양조한 맥주
[ ORDER MENU ]
5. Order | 장바구니를 확인 후 주문합니다.
6. Cancel | 진행중인 주문을 취소합니다.
"Hamburger | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거"
위 메뉴를 장바구니에 추가하시겠습니까?
1. 확인 2. 취소
"Hamburger | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거"
위 메뉴를 장바구니에 추가하시겠습니까?
1. 확인 2. 취소
아래와 같이 주문 하시겠습니까?
[ Orders ]
ShackBurger | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거
SmokeShack | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거
[ Total ]
W 15.8
1. 주문 2. 메뉴판
주문이 완료되었습니다!
대기번호는 [ 1 ] 번 입니다.
(3초후 메뉴판으로 돌아갑니다.)
진행하던 주문을 취소하시겠습니까?
1. 확인 2. 취소
<aside> 💡 자바의 정석 정리
</aside>
객체
객체 배열 생성 : p 169
장바구니 추가하기
확인 입력시
위에 출력된 배열을 다른 배열로 옮겨서 저장합니다.
취소 입력시
// 깃허브 사용이 아직 어려운 신 분을 위해서 전체코드를 아래에 게시 합니다.
// Main.java 클래스
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Menu[] menuList = new Menu[5];
menuList[0] = new Menu("hamburger", "good1");
menuList[1] = new Menu("side", "good1");
menuList[2] = new Menu("beverage", "good1");
menuList[3] = new Menu("확인", "장바구니를 확인 후 주문합니다.");
menuList[4] = new Menu("취소", "진행중인 주문을 취소합니다.");
Menu[] hamburgerList = new Menu[3];
hamburgerList[0] = new Menu("hamburger1", "delicious1",1000);
hamburgerList[1] = new Menu("hamburger2", "delicious1", 2000);
hamburgerList[2] = new Menu("hamburger3", "delicious1", 3000);
ArrayList orderList = new ArrayList();
Scanner sc = new Scanner(System.in);
int count = 0;
int total = 0;
while (true) {
for (int i = 0; i < menuList.length; i++) {
System.out.println(i+1 + "." + menuList[i].name + " | " + menuList[i].desc);
}
int choice1 = sc.nextInt();
if (choice1 == 1) {
// 햄버거
System.out.println("햄버거");
for (int i = 0; i < hamburgerList.length; i++) {
System.out.println(i + 1 + "." + hamburgerList[i].name + " | " + hamburgerList[i].price + " | " + hamburgerList[i].desc);
}
System.out.println("아래 메뉴를 장바구니에 추가하시겠습니까?");
Scanner sc2 = new Scanner(System.in);
int choice2 = sc2.nextInt() - 1;
System.out.println(hamburgerList[choice2].name + " | " + hamburgerList[choice2].price + " | " + hamburgerList[choice2].desc);
System.out.println("1.확인 2.취소");
Scanner sc3 = new Scanner(System.in);
int choice3 = sc3.nextInt();
if (choice3 == 1) {
orderList.add(hamburgerList[choice2]);
} else {
}
} else if (choice1 == 2) {
// 사이드
} else if (choice1 == 3) {
// 음료
} else if (choice1 == 4) {
// 주문
System.out.println("주문");
System.out.println("아래와 같이 주문 하시겠습니까?");
for (int i = 0; i < orderList.size(); i++) {
Menu orderOne = (Menu) orderList.get(i);
System.out.println(orderOne.name + " | " + orderOne.price + " | " + orderOne.desc);
total += orderOne.price;
}
System.out.println("[ Total ]\\n" + "W" + total);
System.out.println("1. 주문 2. 메뉴판");
Scanner sc2 = new Scanner(System.in);
int choice2 = sc2.nextInt();
if (choice2 == 1) {
orderList.clear();
count += 1;
System.out.println("주문이 완료되었습니다!\\n" +
"대기번호는 [" + count + "] 번 입니다.\\n" +
"(3초후 메뉴판으로 돌아갑니다.)");
} else {
}
} else if (choice1 == 5) {
System.out.println("진행하던 주문을 취소하시겠습니까?");
System.out.println("1. 확인 2. 취소");
System.out.println();
Scanner sc2 = new Scanner(System.in);
int choice2 = sc2.nextInt();
if (choice2 == 1) {
orderList.clear();
System.out.println("주문이 취소되었습니다!");
} else {
System.out.println("메인으로 돌아갑니다. ");
}
}
}
}
}
// Menu.java 클래스
public class Menu {
String name;
String desc;
int price;
public Menu(String name, String desc) {
this.name = name;
this.desc = desc;
}
public Menu(String name, String desc, int price) {
this.name = name;
this.desc = desc;
this.price = price;
}
}