키오스크의 필수 기능(메뉴 선택, 취소, 장바구니에 넣기, 주문 취소, 주문완료)은 전부 구현했다.

 

오늘의 삽질!

 

1.  장바구니 상품 총 가격 오류

문제점 : 장바구니를 확인하고 다시 메인 메뉴로 돌아갔다 다시 장바구니 확인 창으로 돌아오면 장바구니에 넣어놓은 상품의 총가격이 두 배가 되는 오류가 발생

해결방안 : 총가격을 Order 클래스의 인스턴스 변수로 선언해놨더니 장바구니 확인 화면에서 나갔다가 다시 들어올 때마다 가격이 계속 더해져서 그런 오류가 발생했던 것 같다. 총가격을 지역변수로 바꾸고 메서드 첫줄에서 0으로 초기화 시켜줬더니 제대로 동작했다.

    public double getTotalPrice() {
        double totalPrice = 0.0;
        for(int i=0 ; i < order.size(); i++){
            totalPrice += order.get(i).price;
        }
        return totalPrice;
    }

 

2.  다중 중첩문의 continue

또 조건문과 반복문이 여러겹으로 중첩될 때 continue를 어떻게 써야 할지 잘 모르겠다. 사용자가 주문을 취소했을 때, 안쪽 루프에서 제일 바깥 루프로 가려고 메인 메뉴 루프에 라벨을 달고 continue 했더니 아래와 같은 경고가 떴다.

그래서 라벨을 지우고 그냥 컨틴뉴 해봤더니 이번엔 컨티뉴 자체가 불필요하단 경고창이 떴다;

아직 예외 처리부분 강의를 못 들었는데 아마 예외처리 강의에서 이런 부분도 다루지 않을까 싶다. 내일은 코딩보다 강의를 좀 들어봐야겠다.

 

 

'TIL > WEEK3' 카테고리의 다른 글

개인과제 키오스크 완성  (0) 2023.06.01
예외처리  (0) 2023.05.31

+ Recent posts