Java代碼實現(xiàn)簡單酒店管理系統(tǒng)
本文實例為大家分享了Java實現(xiàn)簡單酒店管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
為某個酒店編寫程序:酒店管理系統(tǒng),模擬訂房、退房和打印所有房間狀態(tài)等功能
1.該系統(tǒng)的用戶是:酒店前臺
2.酒店使用一個二維數(shù)組來模擬”Room[][] rooms"
3.酒店中的每一個房間應(yīng)該是一個對象:Room
4.每一個房間應(yīng)該有:房間編號、房間類型、房間是否空閑
5.一同應(yīng)該對外提供的功能:
訂房:用戶輸入房間編號來訂房
退房:用戶輸房間編號來退房
查看所有房間狀態(tài):用戶輸入指定的指令來查看
房間類
//酒店的房間類 public class Room { ? ? //房間編號 ? ? private int no; ? ? //房間類型:標(biāo)準(zhǔn)間 單人間 總統(tǒng)套房 ? ? 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 { ? ? //創(chuàng)建二維數(shù)組存放房間 ? ? private Room[][] rooms; ? ? ? //通過構(gòu)造方法給酒店蓋房間,即二維數(shù)組的空間大小 ? ? public Hotel() { ? ? ? ? //一共有幾層,每層的房間類型是什么,每個房間的編號是什么 ? ? ? ? //這里先寫死,一共3層,1層單人間,2層標(biāo)準(zhǔn)間,3層總統(tǒng)套房 ? ? ? ? //本系統(tǒng)支持的房間編號: ? ? ? ? //1樓:101 102 103 104 105...110 ? ? ? ? //2樓:201 202 203 204 205...210 ? ? ? ? //3樓:301 302 303 304 305...310 ? ? ? ? ? //3層樓,每層10個房間,注:此時還是空的,即空數(shù)組,還沒賦值 ? ? ? ? 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, "標(biāo)準(zhǔn)間", true); ? ? ? ? ? ? ? ? } else { ? ? ? ? ? ? ? ? ? ? rooms[i][j] = new Room((i + 1) * 100 + j + 1, "總統(tǒng)套房", true); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? //輸出房間信息,即打印輸出二維數(shù)組 ? ? 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 即數(shù)組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); ? ? } }
酒店管理系統(tǒng)的實現(xiàn)類
import java.util.Scanner; ? //測試類 public class HotelMgtSystem { ? ? /** ? ? ?* 為某個酒店編寫程序:酒店管理系統(tǒng),模擬訂房、退房和打印所有房間狀態(tài)等功能 ? ? ?* 1.該系統(tǒng)的用戶是:酒店前臺 ? ? ?* 2.酒店使用一個二維數(shù)組來模擬”Room[][] rooms" ? ? ?* 3.酒店中的每一個房間應(yīng)該是一個對象:Room ? ? ?* 4.每一個房間應(yīng)該有:房間編號、房間類型、房間是否空閑 ? ? ?* 5.一同應(yīng)該對外提供的功能: ? ? ?* ? ? ?訂房:用戶輸入房間編號來訂房 ? ? ?* ? ? ?退房:用戶輸房間編號來退房 ? ? ?* ? ? ?查看所有房間狀態(tài):用戶輸入指定的指令來查看 ? ? ?*/ ? ? public static void main(String[] args) { ? ? ? ? //創(chuàng)建酒店對象 ? ? ? ? Hotel h = new Hotel(); ? ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? ? //提示用戶輸入的房間編號信息 ? ? ? ? System.out.println("本系統(tǒng)支持的房間編號:"); ? ? ? ? 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"); ? ? ? ? ? //構(gòu)建主界面 ? ? ? ? System.out.println("----------歡迎進入酒店管理系統(tǒng)----------"); ? ? ? ? while(true){ ? ? ? ? ? ? System.out.println("1 訂房"); ? ? ? ? ? ? System.out.println("2 退房"); ? ? ? ? ? ? System.out.println("3 查看所有房間的狀態(tài)"); ? ? ? ? ? ? System.out.println("4 退出系統(tǒng)"); ? ? ? ? ? ? ? System.out.println("請輸入你的選擇:(按center鍵確認(rèn))"); ? ? ? ? ? ? int n = sc.nextInt(); ? ? ? ? ? ? ? //實現(xiàn)選擇的功能 ? ? ? ? ? ? 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("所有房間的狀態(tài)信息如下所示:"); ? ? ? ? ? ? ? ? ? ? h.print(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 4: ? ? ? ? ? ? ? ? ? ? System.out.println("系統(tǒng)正在退出中......"); ? ? ? ? ? ? ? ? ? ? System.out.println("\n系統(tǒng)已退出,歡迎下次光臨!"); ? ? ? ? ? ? ? ? ? ? System.exit(0);//結(jié)束JVM虛擬機的運行 ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? System.out.println("指令輸入有誤,請重新輸入!"); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
簡單的一次springMVC路由跳轉(zhuǎn)實現(xiàn)
本文主要介紹了springMVC路由跳轉(zhuǎn)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Spring線程池ThreadPoolTaskExecutor配置詳情
本篇文章主要介紹了Spring線程池ThreadPoolTaskExecutor配置詳情,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決
這篇文章主要給大家介紹了關(guān)于java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決辦法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-02-02SpringMVC跨服務(wù)器上傳文件中出現(xiàn)405錯誤的解決
這篇文章主要介紹了SpringMVC跨服務(wù)器上傳文件中出現(xiàn)405錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09