Java代碼實現簡單酒店管理系統
本文實例為大傢分享瞭Java實現簡單酒店管理系統的具體代碼,供大傢參考,具體內容如下
為某個酒店編寫程序:酒店管理系統,模擬訂房、退房和打印所有房間狀態等功能
1.該系統的用戶是:酒店前臺
2.酒店使用一個二維數組來模擬”Room[][] rooms"
3.酒店中的每一個房間應該是一個對象:Room
4.每一個房間應該有:房間編號、房間類型、房間是否空閑
5.一同應該對外提供的功能:
訂房:用戶輸入房間編號來訂房
退房:用戶輸房間編號來退房
查看所有房間狀態:用戶輸入指定的指令來查看
房間類
//酒店的房間類 public class Room { //房間編號 private int no; //房間類型:標準間 單人間 總統套房 private String type; //房間是否空閑 private boolean status; public Room() { } public Room(int no, String type, boolean status) { this.no = no; this.type = type; this.status = status; } @Override public String toString() { return "["+no+","+type+","+(status ? "空閑" : "占用")+"]"; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isStatus() { return status; } public void setStatus(boolean status) { this.status = status; } }
酒店類
//酒店類 public class Hotel { //創建二維數組存放房間 private Room[][] rooms; //通過構造方法給酒店蓋房間,即二維數組的空間大小 public Hotel() { //一共有幾層,每層的房間類型是什麼,每個房間的編號是什麼 //這裡先寫死,一共3層,1層單人間,2層標準間,3層總統套房 //本系統支持的房間編號: //1樓:101 102 103 104 105...110 //2樓:201 202 203 204 205...210 //3樓:301 302 303 304 305...310 //3層樓,每層10個房間,註:此時還是空的,即空數組,還沒賦值 rooms = new Room[3][10]; //初始化房間 for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { if (i == 0) { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "單人間", true);//true為空閑房間 } else if (i == 1) { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "標準間", true); } else { rooms[i][j] = new Room((i + 1) * 100 + j + 1, "總統套房", true); } } } } //輸出房間信息,即打印輸出二維數組 public void print(){ for (int i = 0; i < rooms.length; i++) { System.out.print("第" + (i + 1) + "層: "); for (int j = 0; j < rooms[i].length; j++) { //輸出每層的所有房間 //System.out.print(rooms[i][j]+" "); Room r = rooms[i][j]; System.out.print(r.toString()+" "); } System.out.println();//換行輸出每層的房間 } } //訂房,將訂房的房間對象中的status修改為flase,即占用 public void order(int n){ //例:205 205/100-1==1 205%100-1==4 即數組rooms[1][4] Room r = rooms[n/100-1][n%100-1]; //修改為占用 r.setStatus(false); } //退房,跟訂房同理,隻需將status修改為true即可 public void exit(int n){ Room r = rooms[n/100-1][n%100-1]; r.setStatus(true); } }
酒店管理系統的實現類
import java.util.Scanner; //測試類 public class HotelMgtSystem { /** * 為某個酒店編寫程序:酒店管理系統,模擬訂房、退房和打印所有房間狀態等功能 * 1.該系統的用戶是:酒店前臺 * 2.酒店使用一個二維數組來模擬”Room[][] rooms" * 3.酒店中的每一個房間應該是一個對象:Room * 4.每一個房間應該有:房間編號、房間類型、房間是否空閑 * 5.一同應該對外提供的功能: * 訂房:用戶輸入房間編號來訂房 * 退房:用戶輸房間編號來退房 * 查看所有房間狀態:用戶輸入指定的指令來查看 */ public static void main(String[] args) { //創建酒店對象 Hotel h = new Hotel(); Scanner sc = new Scanner(System.in); //提示用戶輸入的房間編號信息 System.out.println("本系統支持的房間編號:"); System.out.println("1樓: 101 102 103 104 105...110"); System.out.println("2樓: 201 202 203 204 205...210"); System.out.println("3樓: 301 302 303 304 305...310"); //構建主界面 System.out.println("----------歡迎進入酒店管理系統----------"); while(true){ System.out.println("1 訂房"); System.out.println("2 退房"); System.out.println("3 查看所有房間的狀態"); System.out.println("4 退出系統"); System.out.println("請輸入你的選擇:(按center鍵確認)"); int n = sc.nextInt(); //實現選擇的功能 switch(n){ case 1: System.out.println("請輸入訂房的編號:"); h.order(sc.nextInt()); System.out.println("恭喜訂房成功!\n"); break; case 2: System.out.println("請輸入退房的編號:"); h.exit(sc.nextInt()); System.out.println("恭喜退房成功!\n"); break; case 3: System.out.println("所有房間的狀態信息如下所示:"); h.print(); break; case 4: System.out.println("系統正在退出中......"); System.out.println("\n系統已退出,歡迎下次光臨!"); System.exit(0);//結束JVM虛擬機的運行 default: System.out.println("指令輸入有誤,請重新輸入!"); break; } } } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。