Java 클래스 설계 시 필수 요구사항!
- 메뉴 클래스는 이름, 설명 필드를 가지는 클래스로 만들어주세요.
- 상품 클래스는 이름, 가격, 설명 필드를 가지는 클래스로 만들어주세요.
- 상품 클래스의 이름, 설명 필드는 메뉴 클래스를 상속받아 사용하는 구조로 개발해주세요.
- 주문 클래스도 만들어서 상품 객체를 담을 수 있도록 해주세요.
1.확인
입력 시 장바구니에 추가되었다는 안내 문구와 함께 메인 메뉴로 다시 출력 됩니다.5.Order
입력 시 장바구니 목록을 출력해줍니다.1.주문
입력 시 주문완료 화면으로 넘어가고, 2.메뉴판
입력 시 다시 메인 메뉴로 돌아옵니다.1.주문
입력 시 대기번호를 발급해줍니다.6.Cancel
입력시 주문을 취소할지 확인을 요청하는 문구가 출력 됩니다.1.확인
을 입력하면 장바구니는 초기화되고 취소 완료 문구와 함께 메뉴판이 출력 됩니다.메뉴(Menu)
[{카테고리, 설명},{상품, 설명},{가격}], [{카테고리, 설명},{상품, 설명},{가격}] ...
string → float
상품(Product) ★
주문(Order)
메인(Main)
"환영 문구 출력"
카테고리 메뉴판 출력(menu, order)
카테고리 Scnnner
일단 이 정도 작성하고 시작한다. 설계 소요 시간 2시간
지금 3차원 배열로 저장, 장바구니에 담기 및 전체 삭제까지는 구현했다.
이제 주문 목록 출력 기능을 구현하면 되는데, filter 메소드가 잘 어울릴 것 같아 튜터님께 질문드리니stream().filter()
형태로 작성하면 된다고 하신다.
filter 안에는 수가 아니라 if 조건문 등의 형태, 람다 함수 형태로 원하는 조건을 찾고, jumplist를 이용해 값을 출력해야 한다고 한다.
공식 문서로 이동하는 법도 알았고 많은 도움이 되었지만
람다 함수를 내가 아직 모른다.
파라미터도 이해 못했다.
그리고 출력 값을 보니 내가 하고 싶은 대로 예쁘게 나열할 수 없을 것 같다.
아쉽지만 포기하고 다른 방법을 찾자.(여기까지 3시간 30분)
만난 오류 메시지
Index 2 out of bounds for length 0
배열이 비어있는데 접근하려고 할 때
혹은 배열의 범위를 벗어난 인덱스에 접근하려고 할 때
Arraylist에 값을 저장했고, 그 값을 꺼내오고 싶은데 저렇게 나온다.
isEmpty를 이용해서 리스트가 비었는지 확인했는데 아니라고 한다.
배열 전체를 그냥 냅~다 sout에 넣어서 생긴 현상이었다.
해결 코드
System.out.println(a.shoppingBasket.get(0));
잊지 말자. 메서드 호출은 (.)온점을 통해서.
오늘 남은 숙제
public String getShoppingBasket(){
// 쇼핑리스트의 0(2)2(2)4(1)5...(묶음) 가져오기
// (i, i+2, i+3, i+4),(i+6,i+8,i+9,i+10)...
if(shoppingBasket.isEmpty()){
System.out.println("장바구니가 비어있습니다.");
}else{
//if(int i = 0; ){}
System.out.print(shoppingBasket.get(0) + " ");
System.out.print(shoppingBasket.get(2) + " ");
System.out.print(shoppingBasket.get(3) + " ");
System.out.println(shoppingBasket.get(4));
//매개 변수 i를 주고, i를 6씩 증가시키고, 값을 가져올 수 없을 때?? shoppingBasket의 길이가 i+6보다 작을 때?? int size break를 걸어??
}
return orderList;
}
내 앞에 2가지 숙제가 있다.
1. orderList로 저장할 것인가? void 형식으로 바꿀 것인가 결정(후순위)
2. 3차원 배열을 무너뜨렸고... 1차원 배열의 수로 다시 for문을 돌리자.
리스트에 어떻게 저장하는지 전혀 감을 못 잡고 있어서, 너무 아쉽다.
다른 분들 보면 key값을 잘 저장해서 쓰기 좋고 보기 좋게 불러오시는 것 같다.
3차원 배열을 무너뜨리는 부분은 내가 생각해도 웃기다.
오늘 제일 많이 들은 말은
일단 돌아가기만 하면 된다...
위로가 되는 말이었고 ㅋㅋㅋㅋ 공부를 더 해야겠다는 생각도 강하게 든다.
과정도 중요하지만 결과도 중요하니까!
이대로 열심히 공부해서 결국 제 몫을 하면 된다.
아자아자
추가) 무식한 코드지만 장바구니 출력도 완성했다.
if문과 for문의 짬뽕이지만 그게 어디야~
인스턴스 변수 난무하더라도 일단 내 손으로 코드 짜본 게 어디냐~