[JAVA] 45. 예제 ( 영화 예약 시스템)

편준민's avatar
Feb 17, 2025
[JAVA] 45. 예제 ( 영화 예약 시스템)
 

비지니스 파악

실행

=== 영화 예약 시스템 ===
  1. 영화 목록 보기
  1. 좌석 예약하기
  1. 종료 메뉴 선택:

1-1. 1을 적으면 아래 항목(영화 목록, 영화 예약 시스템)이 나온다

=== 영화 목록 ===
  1. 인셉션
  1. 어벤져스
  1. 인터스텔라
 
=== 영화 예약 시스템 ===
  1. 영화 목록 보기
  1. 좌석 예약하기
  1. 종료 메뉴 선택:

1-2. 메뉴 선택에 2를 적으면 아래 항목(영화 목록)만 나온다.

=== 영화 목록 ===
  1. 인셉션
  1. 어벤져스
  1. 인터스텔라 영화 번호 선택:

2-1. 영화 목록에서 해당 영화를 선택하면 아래 항목(해당 영화의 좌석 목록)이 나온다.

=== [인셉션] 좌석 목록 === [A1] [A2] [A3] [A4] [A5] 예약할 좌석 번호 입력 (예: A1):

2-2. 예약 좌석 번호를 입력한다. (처음으로 돌아감)

A1 좌석이 예약되었습니다.
 
=== 영화 예약 시스템 ===
  1. 영화 목록 보기
  1. 좌석 예약하기
  1. 종료 메뉴 선택:

3-1. 똑같은 영화의 좌석이 예매 되었는지 확인 → 인셉션 - A1 좌석 확인

=== [인셉션] 좌석 목록 === [예약됨] [A2] [A3] [A4] [A5] 예약할 좌석 번호 입력 (예: A1):

3-2. 똑같은 자리를 예매 해보기 (문구와 함께 처음으로 돌아감)

잘못된 좌석 번호이거나 이미 예약된 좌석입니다.
=== 영화 예약 시스템 ===
  1. 영화 목록 보기
  1. 좌석 예약하기
  1. 종료 메뉴 선택:

실행코드

package test; import java.util.ArrayList; import java.util.Scanner; class MyMovie { private String title; // 영화제목 private String[] seats; // 좌석 public MyMovie(String title, int seatCount) { this.title = title; this.seats = new String[seatCount]; for (int i = 0; i < seatCount; i++) { seats[i] = "A" + (i + 1); } } public String getTitle() { return title; } public void getSeats() { System.out.println("\n=== [" + title + "] 좌석 목록 ==="); for (String seat : seats) { if (seat.equals("X")) { System.out.println("[예약됨]"); } else { System.out.print("[" + seat + "]"); } } } public boolean reserveSeat(String seatNumber) { for (int i = 0; i < seats.length; i++) { if (seats[i].equals(seatNumber)) { seats[i] = "X"; System.out.println(seatNumber + "좌석이 예약되었습니다."); return true; } } System.out.println("잘못된 좌석 번호이거나 이미 예약된 좌석입니다"); return false; } } public class MyMovieReservationSystem { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 영화 생성 ArrayList<MyMovie> movies = new ArrayList<>(); movies.add(new MyMovie("헤리포터", 5)); movies.add(new MyMovie("범죄자들", 5)); movies.add(new MyMovie("왕해", 5)); while (true) { System.out.println("\n=== 영화 예약 시스템 ==="); System.out.println("1. 영화 목록 보기"); System.out.println("2. 좌석 예약하기"); System.out.println("3. 종료"); System.out.println("메뉴 선택 : "); int choice = sc.nextInt(); if (choice == 1) { for (int i = 0; i < movies.size(); i++) { System.out.println(movies.get(i).getTitle()); } } else if (choice == 2) { } else if (choice == 3) { } } } }
Share article

YunSeolAn