<aside> 💡 Github 주소
https://github.com/yeonssu/BurgerQueen-ordersysetm
</aside>
Menu클래스 생성
Menu클래스는 전체 상품 정보를 필드로 가져야한다(ProductRepository에서 products배열을 getter메서드를 통해 가져온다 )
OrderApp의 start() 메서드에서 ProductRepository를 인스턴스화하고 getAllProduct()의 반환값을 전달하면서 Menu클래스를 인스턴스화시킨다
public class OrderApp {
ProductRepository productRepository = new ProductRepository();
Product[] products = productRepository.getAllProducts();
Menu menu = new Menu(products);
public void start() {
while (true) {
메뉴 출력
사용자 입력 받기
if (사용자 입력이 +인 경우) {
주문 내역 출력
break;
}
else if (사용자 입력이 0인 경우) {
장바구니 출력
}
else if (사용자 입력이 1부터 메뉴 마지막 번호에 해당하는 경우) {
사용자가 고른 상품의 옵션을 보여주고 고르게 한 후, 장바구니에 담기
}
}
}
}
메뉴출력 → printMenu()
구현한 printMenu() 메서드를 OrderApp클래스에 호출한다
public class OrderApp {
ProductRepository productRepository = new ProductRepository();
Product[] products = productRepository.getAllProducts();
Menu menu = new Menu(products);
public void start() {
while (true) {
menu.printMenu();
String input = scanner.nextLine();
if (사용자 입력이 +인 경우) {
주문 내역 출력
break;
}
else if (사용자 입력이 0인 경우) {
장바구니 출력
}
else if (사용자 입력이 1부터 메뉴 마지막 번호에 해당하는 경우) {
사용자가 고른 상품의 옵션을 보여주고 고르게 한 후, 장바구니에 담기
}
}
}
}
Cart클래스 : 장바구니에 담긴 상품을 저장해야한다
장바구니 상품을 의미하는 Product배열 타입의 items
초기 items 배열의 길이는 0으로 설정해 놓는다 (장바구니에 상품을 추가할 때마다 길이를 1씩 늘려준다)
입력을 담당하는 Scanner도 필드에 정의해준다
public class Cart{
private Product[] items = new Product[0];
private Scanner scanner = new Scanner(System.in);
}