사이먼's 코딩노트
[Java] 호텔 예약 관리 프로그램 제작(1) 본문
[호텔 예약 관리 프로그램 제작]
- 작성된 모든 코드는 저의 깃허브 리포지터리에서 확인하실 수 있습니다.
- 깃허브 리포지터리 주소 : https://github.com/psm817/hotel_booking_proj
[초기 세팅]
- 가장 먼저 Scanner를 통해 명령어 입력하고 종료하는 기능을 추가해봅시다.
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("호텔 예약 관리 시스템에 오신 것을 환영합니다.");
System.out.println("=== 서비스 모음 ===");
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("서비스 번호를 입력해주세요) ");
String cmd = sc.nextLine();
cmd = cmd.trim();
if(cmd.length() == 0) {
continue;
}
if(cmd.equals("exit")) {
break;
}
}
sc.close();
System.out.println("감사합니다. 다음에 또 방문해주세요.");
}
}
- 프로그램이 시작되면 환영 안내와 함께 서비스 모음집을 보여준다.
- trim()을 이용하여 띄어쓰기도 포함되게 하였고, 만약 명령어가 입력하지 않았다면 계속해서 서비스를 입력하라는 안내문이 출력되게 된다.
- 'exit' 라는 명령어를 입력한다면 그 즉시 프로그램은 종료하게 된다.
[App 및 기본 Controller 생성]
- 설계한 기능들을 모두 Main 클래스에서 다루긴엔 너무 효율성이 떨어지기 때문에 초반에 App 클래스와 각 컨트롤러를 구분해서 작업할 예정이다.
- 먼저, 초기 세팅했던 코드는 모두 App 클래스로 이전한다.
package org.example;
import org.example.controller.*;
import java.util.Scanner;
public class App {
public void start() {
System.out.println("호텔 예약 관리 시스템에 오신 것을 환영합니다.");
System.out.printf("\n");
System.out.println("=============== 서비스 모음 ===============");
System.out.println("1. 호텔 소개 : hotel introduce");
System.out.println("2. 방 조회하기 : room list");
System.out.println("3. 방 예약하기 : room booking");
System.out.println("4. 예약 확인하기 : booking check");
System.out.println("5. 예약정보 수정 : booking modify");
System.out.println("6. 예약 취소 : booking delete");
System.out.println("7. 로그인/로그아웃 : guset login/logout");
System.out.println("8. 회원 가입 : guset join");
System.out.println("===========================================");
System.out.printf("\n");
HotelController hotelController = new HotelController();
RoomController roomController = new RoomController();
BookingController bookingController = new BookingController();
GusetController gusetController = new GusetController();
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("서비스를 입력해주세요) ");
String cmd = sc.nextLine();
cmd = cmd.trim();
if(cmd.length() == 0) {
continue;
}
if(cmd.equals("exit")) {
break;
}
String[] cmdBits = cmd.split(" ");
if(cmdBits.length == 1) {
System.out.println("존재하지 않는 서비스입니다.");
continue;
}
String controllerName = cmdBits[0];
String actionMethodName = cmdBits[1];
Controller controller = null;
if(controllerName.equals("hotel")) {
controller = hotelController;
}
else if(controllerName.equals("room")) {
controller = roomController;
}
else if(controllerName.equals("booking")) {
controller = bookingController;
}
else if(controllerName.equals("guset")) {
controller = gusetController;
}
else {
System.out.println("존재하지 않는 서비스입니다.");
continue;
}
String actionName = controllerName + "/" + actionMethodName;
switch(actionName) {
}
}
sc.close();
System.out.println("감사합니다. 다음에 또 방문해주세요.");
}
}
- 사용자가 입력하는 명령어에 따라서 controller는 각 기능을 수행하는 controller로 이동한다.
- controller의 종류는 총 7개이며, BookingController, Controller, ExportController, GuestController, HotelController, ReviewController, RoomController가 있다.
- 모든 Controller는 controller.java 클래스를 상속받는다.
- 아직 서비스 모음집은 모든 기능이 포함되어 있지 않다는 점은 참고 부탁드립니다.
package org.example;
public class Main {
public static void main(String[] args) {
new App().start();
}
}
- Main 클래스는 단순하게 App을 실행하도록만 해준다.
반응형
'프로젝트 > [Java] 호텔 예약 관리 프로그램 제작' 카테고리의 다른 글
[Java] 호텔 예약 관리 프로그램 제작(5) (0) | 2024.04.16 |
---|---|
[Java] 호텔 예약 관리 프로그램 제작(4) (0) | 2024.04.16 |
[Java] 호텔 예약 관리 프로그램 제작(3) (0) | 2024.04.16 |
[Java] 호텔 예약 관리 프로그램 제작(2) (0) | 2024.04.16 |
[Java] 호텔 예약 관리 프로그램 개요 (0) | 2024.04.16 |