열심히 끝까지

16강 배열 - 연습 / 카페주문 프로그램 제작 본문

멘토씨리즈 JAVA

16강 배열 - 연습 / 카페주문 프로그램 제작

노유림 2022. 4. 26. 18:56

16-1 ) 카페 프로그램
       < 실습 Cafe.java >
        카페 프로그램 만들기
        무인 판매기 같은 프로그램

       (1) 알고리즘 작성하기
                 알고리즘이란?
                 : 문제를 해결하기 위한 절차적인 과정

        ex ) 문제상황 : 배가 고파서 라면이 먹고 싶다는 문제 발생
              
              1. 냄비에 물을 받아놓기
              2. 불을 켜기
              3. 스프 넣기
              4. 물을 끓을 때 까지 기다리기
              5. 면 넣기
              6. 계란 넣기
              7. 불을 끄기
              8. 맛있게 먹는다

             문제해결 상황 : 라면을 먹었다.
             
              이 때, 1~8까지의 과정을 알고리즘이라고 볼 수 있다.

          < 카페 프로그램 알고리즘 짜기 >
                 1. 카페 프로그램에는 어떤 기능이 있는가?
                 2. 각 기능을 구현하기 위해선 어떤 작업을 해야하는가?

                 1) 카페 프로그램의 기능

                         (1) 주문하기
                              1. 주문 가능한 메뉴를 출력
                              2. 주문 받을 메뉴를 입력
                              3. 주문한 메뉴의 가격을 총 금액에 누적
                              4. 주문한 메뉴를 전체 메뉴리스트(장바구니)에 추가
                              5. 주문한 개수를 한 개 증가한다.

                         (2) 취소하기
                               1. 주문한 메뉴리스트를 출력
                               2. 그 중에서 취소할 메뉴를 입력
                               3. 입력받는 메뉴를 주문리스트에서 제거
                               4. 입력받은 메뉴의 금액을 총 금액에서 차감
                               5. 주문한 개수를 한 개 감소

                         (3) 결제하기    
                               1. 결제해야 할 총 금액을 출력
                               2. 사용자에게 지불한 금액을 입력받기
                               3. 지불한 금액과 총 금액을 비교해서,
                                   만약, 지불한 금액 < 총 금액 이면?
                                          "잔돈이 부족합니다" 출력 후 결제 취소
                                   그게 아니라면,
                                           잔돈과 함께 계산 완료 출력    
                                4. 총 금액은 0원으로 주문리스트 비우기(결제 완료 시에만)
                                5. 전체 개수를 0개로 초기화(결제 완료 시에만)

                         (4) 끝내기                             
                                                                 

       (2) 알고리즘을 토대로 코드 구현하기

                < 사용할 개념 >

                1. 무한반복
                        : 반복이 종료되지 않고 계속 실행되는 구조
                         따라서, 종료 조건과 함께 사용
                2. 문자열 배열
                        : 배열의 각 요소가 문자열(String)인 배열


                  < 필요한 변수 >

                  1. 전체 개수 저장할 변수
                          int count = 0;
                  2. 주문한 메뉴를 저장할 문자열 배열
                          String[ ] orderList = new String[5];
                  3. 총 금액 저장할 변수
                          int total = 0;


                  < 기본 틀 작성 >

                  입력에 따라 해야 할 명령이 다르므로
                  조건문 사용

                  < 상세 기능에 따른 코드 구현 > - 주문하기

카페 메뉴 주문하기 프로그래밍


                  < 상세 기능에 따른 코드 구현 > - 취소하기

카페 메뉴 취소하기 프로그래밍


                  < 상세 기능에 따른 코드 구현 > - 결제하기

카페 메뉴 계산하기 프로그래밍


                  < 상세 기능에 따른 코드 구현 > - 끝내기

카페 메뉴 종료하기 프로그래밍

 

프로그래밍 실행결과1
프로그래밍 실행결과 2
프로그래밍 실행결과 3
프로그래밍 실행결과 4