quilt code
[고급자바] 호텔 과제 본문
| 문제) 호텔 운영을 관리하는 프로그램 작성.(Map이용) - 키값은 방번호 실행 예시) ************************** 호텔 문을 열었습니다. ************************** ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 1 <-- 입력 어느방에 체크인 하시겠습니까? 방번호 입력 => 101 <-- 입력 누구를 체크인 하시겠습니까? 이름 입력 => 홍길동 <-- 입력 체크인 되었습니다. ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 1 <-- 입력 어느방에 체크인 하시겠습니까? 방번호 입력 => 102 <-- 입력 누구를 체크인 하시겠습니까? 이름 입력 => 성춘향 <-- 입력 체크인 되었습니다 ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 3 <-- 입력 방번호 : 102, 투숙객 : 성춘향 방번호 : 101, 투숙객 : 홍길동 ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 2 <-- 입력 어느방을 체크아웃 하시겠습니까? 방번호 입력 => 101 <-- 입력 체크아웃 되었습니다. ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 1 <-- 입력 어느방에 체크인 하시겠습니까? 방번호 입력 => 102 <-- 입력 누구를 체크인 하시겠습니까? 이름 입력 => 허준 <-- 입력 102방에는 이미 사람이 있습니다. ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 2 <-- 입력 어느방을 체크아웃 하시겠습니까? 방번호 입력 => 101 <-- 입력 101방에는 체크인한 사람이 없습니다. ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 3 <-- 입력 방번호 : 102, 투숙객 : 성춘향 ******************************************* 어떤 업무를 하시겠습니까? 1.체크인 2.체크아웃 3.객실상태 4.업무종료 ******************************************* 메뉴선택 => 4 <-- 입력 ************************** 호텔 문을 닫았습니다. ************************** |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | package study; import java.security.DomainCombiner; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Hotel { private Scanner scanner; private Map<Integer, GuestInfo> hotel; public Hotel() { scanner = new Scanner(System.in); hotel = new HashMap<>(); } //메뉴출력 public void hotelMenu() { System.out.println("*******************************"); System.out.println("어떤 업무를 하시겠습니까?"); System.out.println("1.체크인 2.체크아웃 3.객실상태 4.업무종료"); System.out.println("*******************************"); System.out.print("메뉴선택 : "); } //프로그램 시작 public void hotelOpen() { System.out.println("******************"); System.out.println("호텔 문을 열었습니다."); System.out.println("******************"); while(true) { hotelMenu(); //메뉴출력 int menuNum = scanner.nextInt(); //번호입력 switch(menuNum) { case 1 : checkIn(); break; case 2 : checkOut(); break; case 3 : roomState(); break; case 4: System.out.println("******************"); System.out.println("호텔 문을 닫았습니다."); System.out.println("******************"); default : System.out.println("입력 오류"); } } } //체크인 private void checkIn() { System.out.println(); System.out.println("어느 방에 체크인 하시겠습니까?"); System.out.print("방번호 입력: "); int roomNum = scanner.nextInt(); //방 중복 체크 if(hotel.get(roomNum) != null) { System.out.println(roomNum + "방에는 이미 사람이 있습니다."); return; } System.out.println("누구를 체크인 하시겠습니까?"); System.out.print("이름 입력: "); String name = scanner.next(); GuestInfo g = new GuestInfo(roomNum, name); hotel.put(roomNum, g); System.out.println("체크인 되었습니다."); } private static void put(int roomNum, GuestInfo guestInfo) { } //체크아웃 private void checkOut() { System.out.println("어느 방을 체크아웃 하시겠습니까?"); System.out.print("방번호 입력: "); int roomNum = scanner.nextInt(); if(hotel.remove(roomNum) == null) { System.out.println(roomNum + "방에는 체크인한 사람이 없습니다."); } else { System.out.println("체크아웃 되었습니다."); } } public static void main(String[] args) { new Hotel().hotelOpen(); } //객실상태 private void roomState() { Set<Integer> keySet = hotel.keySet(); System.out.println(); if(keySet.size() == 0) { System.out.println("체크인된 방이 없습니다."); } else { Iterator<Integer> it = keySet.iterator(); while(it.hasNext()) { int roomNum = it.next(); GuestInfo c = hotel.get(roomNum); System.out.println("방번호: " + c.getRoomNum() + "\t" + "투숙객: " + c.getName()); } } } } class GuestInfo{ private int roomNum; private String name; public GuestInfo(int roomNum, String name) { super(); this.roomNum = roomNum; this.name = name; } public int getRoomNum() { return roomNum; } public void setRoomNum(int roomNum) { this.roomNum = roomNum; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "guestInfo [roomNum=" + roomNum + ", name=" + name + "]"; } } | cs |
'daily > 고급자바' 카테고리의 다른 글
| [고급자바] Thread (1) (0) | 2023.02.06 |
|---|---|
| [고급자바] Annotation (0) | 2023.02.06 |
| [고급자바] 로또 과제 (0) | 2023.02.03 |
| [고급자바] Enum (0) | 2023.02.03 |
| [고급자바] 와일드 카드 (0) | 2023.02.03 |