반복문 (Repetitive) - 실습문제 2
문제
아래와 같은 주문 프로그램을 작성하고 종료 시 주문 내역을 출력하시오.
- 잘못된 메뉴 선택 시 "잘못 선택하셨습니다. 다시 선택해주세요."를 출력하고 메뉴 화면을 반복 실행한다. y 입력 시 메뉴 화면을 반복 실행하고, n 입력 시 메뉴 화면이 종료되며 화면에 주문한 정보와 가격이 출력된다.
- 🔍 추가 : y / n이 아닌 문자 입력 시 "잘못 입력하셨습니다. 다시 입력해주세요."를 출력하고 추가 주문 화면을 반복 실행한다.
입출력 예시
소스코드
import java.util.*;
public class Main {
public static void main(String[] args) {
// 문제 5 카페 주문 프로그램
Scanner sc = new Scanner(System.in);
int ameri = 0;
int latte = 0;
int vanilla = 0;
Loop: while (true) {
System.out.println("======== 메뉴 ========");
System.out.println("1. 아메리카노 3500원");
System.out.println("2. 카페라떼 4100원");
System.out.println("3. 바닐라라떼 4300원");
System.out.println("=====================");
System.out.print("메뉴 선택 : ");
int menu = sc.nextInt();
System.out.print("수량 선택 : ");
int amount = sc.nextInt();
switch (menu) {
case 1:
ameri += amount;
break;
case 2:
latte += amount;
break;
case 3:
vanilla += amount;
break;
default:
System.out.println("잘못 선택하셨습니다. 다시 선택해주세요.");
continue;
}
while (true) {
System.out.print("추가 주문하시겠습니까? (y/n) : ");
char plus = sc.next().charAt(0);
if (plus == 'Y' || plus == 'y')
continue Loop;
else if (plus == 'N' || plus == 'n') {
System.out.println("=====================");
if (ameri != 0)
System.out.println("아메리카노 " + ameri + "잔 : " + ameri * 3500 + "원");
if (latte != 0)
System.out.println("카페라떼 " + latte + "잔 : " + latte * 4100 + "원");
if (vanilla != 0)
System.out.println("바닐라라떼 " + vanilla + "잔 : " + vanilla * 4300 + "원");
System.out.println("=====================");
int price = (ameri * 3500 + latte * 4100 + vanilla * 4300);
System.out.println("총액 : " + price + "원");
break;
} else {
System.out.println("잘못 입력하셨습니다. 다시 입력해주세요.");
continue;
}
}
break;
}
sc.close();
}
}
🏹 다중 반복문 - 라벨 (label)
continue, break는 자신을 감싸고 있는 가장 안쪽의 반복문에서 실행된다. 이때, 자신에게서 가장 가까운 반복문이 아닌 특정 반복문을 지정하여 실행하고 싶을 때 라벨을 사용할 수 있다.
💥 단, 프로그램 상의 오류 발생 가능성이 있어 추천하지 않음
예) label name: while (true) { }
Author And Source
이 문제에 관하여(반복문 (Repetitive) - 실습문제 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@layssingcar/반복문-Repetitive-실습문제-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)