열심히 끝까지
16강 배열 - 연습 / 카페주문 프로그램 제작 본문
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;
< 기본 틀 작성 >
입력에 따라 해야 할 명령이 다르므로
조건문 사용
< 상세 기능에 따른 코드 구현 > - 주문하기
< 상세 기능에 따른 코드 구현 > - 취소하기
< 상세 기능에 따른 코드 구현 > - 결제하기
< 상세 기능에 따른 코드 구현 > - 끝내기
'멘토씨리즈 JAVA' 카테고리의 다른 글
18강 배열 - 메서드 오버로딩 (0) | 2022.04.27 |
---|---|
17강 배열 - 메서드 / 접근제한자 리턴타입 매개변수 (0) | 2022.04.27 |
15강 배열 - 배열의 복제 및 foreach문 (0) | 2022.04.26 |
14강 배열 - 다차원 배열 (0) | 2022.04.25 |
13강 배열 - 연습 / 로또번호 생성기 (0) | 2022.04.25 |