Java 콘솔로 상품 관리 만들어보기

상품 관리 프로그램으로 다음 기능이 구현되어야 한다.

기능

  • 상품 등록: 이름과 가격을 입력받아 상품을 저장한다.
  • 상품 목록: 등록한 상품 목록을 출력한다.

동작

  • 첫 화면에서 세 가지 선택.
    • 상품 등록 (1번 입력)
    • 상품 목록 (2번 입력)
    • 종료 (3번 입력)
  • "상품 등록" 선택 시 사용자로부터 이름과 가격을 입력받아 저장
  • "상품 목록" 선택 시 저장된 상품 목록 출력
  • "종료" 선택 시 프로그램을 종료한다

등록 조건

  • 상품은 최대 10개까지 등록할 수 있다.

출력 포맷

상품 관리 프로그램입니다.
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: 비스켓
신규 상품 가격: 1200
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: 허니버터칩
신규 상품 가격: 1400
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: 버블껌
신규 상품 가격: 600
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
2
목록 1번 상품명: 비스켓, 가격: 1200
목록 2번 상품명: 허니버터칩, 가격: 1400
목록 3번 상품명: 버블껌, 가격: 600
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
3
프로그램을 종료합니다.

등록조건 출력 확인

상품 관리 프로그램입니다.
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: a
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: b
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: c
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: d
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: e
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: f
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: g
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: h
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: i
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
신규 상품 이름: j
신규 상품 가격: 100
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
1
상품을 등록해주세요.
상품 등록은 10개까지 등록 가능합니다.
상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)
3
프로그램을 종료합니다.

Java 코드

public class Store {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("상품 관리 프로그램입니다.");
        int max = 10;

        String[] productNames = new String[max];
        int[] productPrices = new int[max];
        int productCount = 0;

        while (true) {
            System.out.println("상품 등록 (1번) | 상품 목록 (2번) | 종료 (3번)");
            int selector = sc.nextInt();
            sc.nextLine();

            switch (selector) {
                case 1:
                    System.out.println("상품을 등록해주세요.");
                    if (productCount == max) {
                        System.out.println("상품 등록은 10개까지 등록 가능합니다.");
                        break;
                    }
                    System.out.print("신규 상품 이름: ");
                    productNames[productCount] = sc.nextLine();

                    System.out.print("신규 상품 가격: ");
                    productPrices[productCount] = sc.nextInt();
                    
                    sc.nextLine();
                    productCount++;
                    break;
                case 2:
                    for (int i = 0; i < productCount; i++) {
                        System.out.print("목록 " + (i + 1) + "번 ");
                        System.out.print("상품명: " + productNames[i] + ", 가격: " + productPrices[i]);
                        System.out.println();
                    }
                    break;
                case 3: {
                    System.out.println("프로그램을 종료합니다.");
                    return;
                }
                default:
                    System.out.println("잘못된 입력입니다.");
            }
        }
    }
}