[자바] 중국집 메뉴 주문 (금액 계산) 프로그램(while 문 활용)

2020. 11. 9. 14:21·프로그래밍/Java
반응형
문제

while 문을 사용하여 중국집 메뉴 주문 프로그램을 작성해보자.

 

<조건>

1. 메뉴는 4가지

2. 각 메뉴의 가격은 임의대로 지정한다.

3. 사용자는 메뉴와 주문할 메뉴 개수를 입력한다.

4. 사용자의 주문은 사용자가 종료를 원할 때까지 반복된다.

5. 최종적으로 모든 주문의 합계를 출력한다.

 

 

실행화면

 

 

 

코드
import java.util.Scanner;
public class china {
	public static void main(String[] args) {
		Scanner sc = new Scanner (System.in);
		
		int ord = 10;	//사용자가 입력할 메뉴를 저장하는 변수
		int num = 0;    //메뉴의 개수를 저장할 변수
		int x = 0;      //조건문 안에 들어갈 변수, 음식의 값을 저장하는 변수
		int total = 0;  //총 금액
		
		while(ord != 0) {  //사용자가 메뉴 입력시 0을 입력할 때까지 반복
			System.out.println("주문하실 메뉴를 입력해주세요.\n 1.짜장면  2.짬뽕  3.탕수육  4.크림새우");
			ord = Integer.parseInt(sc.nextLine());
			System.out.println("주문하실 메뉴의 개수를 입력해주세요.");
			num = Integer.parseInt(sc.nextLine());
			
			if(ord == 1) {
				x = 4000;
			} else if(ord == 2) {
				x = 4500;
			} else if(ord == 3) {
				x = 6000;
			} else if(ord == 4) {
				x = 6500;
			} 
			total += x*num;   //반복문이 한번 돌때마다 총 금액을 가산하여 total변수에 저장
			System.out.print("종료하시겠습니까? 0.종료  5.계속\n");
			ord = Integer.parseInt(sc.nextLine());		
		}
		System.out.println("주문하신 메뉴의 총 금액은 "+total+"원 입니다.");
        //반복문에서 빠져나오면 총 금액을 출력
	}
}

 

 

주의사항

반복문 내에서 계속 반복해야 할 지점을 염두에 두고 조건을 잘 설정해야 한다.

무한 루프에 빠지면 이클립스 IDE가 오작동을 일으킨다.

이 문제의 경우 사용자에게 언제 무엇을 입력받을지를 잘 생각하고 while 문 안에 적절히 배치하는 것이 도움이 되었다.

 

나의 경우,

1. 초기 메뉴판 입력을 while 문안에 넣지 않아서 오류 발생

Scanner sc = new Scanner (System.in);
		
int ord = 10;	
int num = 0;
int x = 0;
int total = 0;
		
while(ord != 0) {
	System.out.println("주문하실 메뉴를 입력해주세요.\n 1.짜장면  2.짬뽕  3.탕수육  4.크림새우");
	ord = Integer.parseInt(sc.nextLine());
	System.out.println("주문하실 메뉴의 개수를 입력해주세요.");
	num = Integer.parseInt(sc.nextLine());

이 부분에서,

Scanner sc = new Scanner (System.in);
System.out.println("주문하실 메뉴를 입력해주세요.\n 1.짜장면  2.짬뽕  3.탕수육  4.크림새우");
ord = Integer.parseInt(sc.nextLine());
System.out.println("주문하실 메뉴의 개수를 입력해주세요.");
num = Integer.parseInt(sc.nextLine());
		
int ord = 10;	
int num = 0;
int x = 0;
int total = 0;
		
while(ord != 0) {

 

초기에는 이렇게 코딩을 했는데, 당연하게도 메뉴주문판이 반복되지 않았다.

 

2. 마지막 부분, 종료 의사를 묻는 지점

total += x*num;
System.out.print("종료하시겠습니까? 0.종료  5.계속\n");
ord = Integer.parseInt(sc.nextLine());

 

이 부분에서는 total 값을 지정하는 것도 한번 헷갈렸고,(total = x*num으로 코딩하였더니 마지막 계산 부분만출력되었다.) 두 번째로 헷갈린 부분이 종료 안내 문구 뒤 사용자에게 다시 한번 값을 입력받는 부분이다.

처음에 ord = Integer.parseInt(sc.nextLine()); 부분을 추가하지 않았었는데, 바로 메뉴 주문판이 떠서 의도대로 코딩이 되지 않았었다.

 

반응형
저작자표시 (새창열림)

'프로그래밍 > Java' 카테고리의 다른 글

뉴렉처 자바 JDBC 프로그래밍 강의 내용 정리 1-8강  (0) 2021.08.16
[자바] 배열 역순 출력  (0) 2020.11.09
[자바] 은행 프로그램(잔액 조회, 인출)(while문 활용)  (0) 2020.11.09
[자바] 월급 계산 프로그램(조건문 switch 문 활용)  (0) 2020.11.09
[자바] 총점 평균 학점 출력 프로그램(if문 활용)  (0) 2020.11.09
[자바] hello world 출력해보기  (0) 2020.11.09
'프로그래밍/Java' 카테고리의 다른 글
  • [자바] 배열 역순 출력
  • [자바] 은행 프로그램(잔액 조회, 인출)(while문 활용)
  • [자바] 월급 계산 프로그램(조건문 switch 문 활용)
  • [자바] 총점 평균 학점 출력 프로그램(if문 활용)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    리액트
    클론 프로젝트
    프로그래머스
    강의내용정리
    Next.js
    자바스크립트
    AWS
    웹사이트
    mysql
    타입스크립트
    React
    ZeroCho
    spring boot
    포트폴리오
    플러터
    d3
    프로젝트
    알고리즘
    bfs
    블로그 제작
    Til
    뉴렉처
    SWEA
    파이썬
    백준
    컴퓨터네트워크
    공식문서
    구현
    Jiraynor Programming
    자바
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[자바] 중국집 메뉴 주문 (금액 계산) 프로그램(while 문 활용)
상단으로

티스토리툴바