본문 바로가기
카테고리 없음

[자바] 키오스크 과제 Lv.1

by codechu 2025. 4. 25.

Lv 1. 기본적인 키오스크를 프로그래밍해보자

  • [ ] 요구사항이 가지는 의도
    • [ ] 입력 처리와 간단한 흐름 제어를 복습합니다. (프로그래밍 검증**)**
    • [ ] Scanner 활용법, 조건문, 반복문을 재확인하며 입력 데이터를 처리하는 방법 강화
  • [ ] 햄버거 메뉴 출력 및 선택하기
    • [ ] Scanner를 사용하여 여러 햄버거 메뉴를 출력합니다.
    • [ ] 제시된 메뉴 중 입력받은 숫자에 따라 다른 로직을 실행하는 코드를 작성합니다.
    • [ ] 반복문을 이용해서 특정 번호가 입력되면 프로그램을 종료합니다.

 

더보기
import java.util.Scanner;
import java.util.InputMismatchException;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("[SHAKESHACK MENU]");
        System.out.println("1. ShackBurger    | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거  ");
        System.out.println("2. SmokeShack     | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거  ");
        System.out.println("3. Cheseburger    | W 6.9 | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거  ");
        System.out.println("4. Hamburger      | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거  ");
        System.out.println("0. 종료      |  종료");


        while (true) {
            System.out.println("메뉴 번호를 입력해주세요");

            try {
                int n = sc.nextInt();//try문안에 넣기 오류날 것 같은 부분 숫자를 입력받는 부분
                if (n == 1) {
                    System.out.println("1. ShackBurger    | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거  ");
                } else if (n == 2) {
                    System.out.println("2. SmokeShack     | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거  ");
                } else if (n == 3) {
                    System.out.println("3. Cheseburger    | W 6.9 | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거  ");
                } else if (n == 4) {
                    System.out.println("4. Hamburger      | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거  ");
                } else if (n == 0) {
                    System.out.println("종료 되었습니다");
                    break;
                }
            } catch (InputMismatchException e) {
                System.out.println("숫자로 입력해주세요");
                sc.next(); // 문자를 입력하면 오류가 터짐 근데 이 문자는 처리못하고 아직 남아있어서 숫자로 입력해주세요 메세지가 무한 출력됨.
            } // 해결위에 sc.next();입력해서 남아있는 문자열 버리기. 다시 정상 루프

        }

    }
}