Java代碼實(shí)現(xiàn)簡單酒店管理系統(tǒng)
本文實(shí)例為大家分享了Java實(shí)現(xiàn)簡單酒店管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
為某個(gè)酒店編寫程序:酒店管理系統(tǒng),模擬訂房、退房和打印所有房間狀態(tài)等功能
1.該系統(tǒng)的用戶是:酒店前臺(tái)
2.酒店使用一個(gè)二維數(shù)組來模擬”Room[][] rooms"
3.酒店中的每一個(gè)房間應(yīng)該是一個(gè)對(duì)象:Room
4.每一個(gè)房間應(yīng)該有:房間編號(hào)、房間類型、房間是否空閑
5.一同應(yīng)該對(duì)外提供的功能:
訂房:用戶輸入房間編號(hào)來訂房
退房:用戶輸房間編號(hào)來退房
查看所有房間狀態(tài):用戶輸入指定的指令來查看


房間類
//酒店的房間類
public class Room {
? ? //房間編號(hào)
? ? 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() {
? ? ? ? //一共有幾層,每層的房間類型是什么,每個(gè)房間的編號(hào)是什么
? ? ? ? //這里先寫死,一共3層,1層單人間,2層標(biāo)準(zhǔn)間,3層總統(tǒng)套房
? ? ? ? //本系統(tǒng)支持的房間編號(hào):
? ? ? ? //1樓:101 102 103 104 105...110
? ? ? ? //2樓:201 202 203 204 205...210
? ? ? ? //3樓:301 302 303 304 305...310
?
? ? ? ? //3層樓,每層10個(gè)房間,注:此時(shí)還是空的,即空數(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();//換行輸出每層的房間
? ? ? ? }
? ? }
?
? ? //訂房,將訂房的房間對(duì)象中的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)的實(shí)現(xiàn)類
import java.util.Scanner;
?
//測試類
public class HotelMgtSystem {
? ? /**
? ? ?* 為某個(gè)酒店編寫程序:酒店管理系統(tǒng),模擬訂房、退房和打印所有房間狀態(tài)等功能
? ? ?* 1.該系統(tǒng)的用戶是:酒店前臺(tái)
? ? ?* 2.酒店使用一個(gè)二維數(shù)組來模擬”Room[][] rooms"
? ? ?* 3.酒店中的每一個(gè)房間應(yīng)該是一個(gè)對(duì)象:Room
? ? ?* 4.每一個(gè)房間應(yīng)該有:房間編號(hào)、房間類型、房間是否空閑
? ? ?* 5.一同應(yīng)該對(duì)外提供的功能:
? ? ?* ? ? ?訂房:用戶輸入房間編號(hào)來訂房
? ? ?* ? ? ?退房:用戶輸房間編號(hào)來退房
? ? ?* ? ? ?查看所有房間狀態(tài):用戶輸入指定的指令來查看
? ? ?*/
? ? public static void main(String[] args) {
? ? ? ? //創(chuàng)建酒店對(duì)象
? ? ? ? Hotel h = new Hotel();
?
? ? ? ? Scanner sc = new Scanner(System.in);
?
? ? ? ? //提示用戶輸入的房間編號(hào)信息
? ? ? ? System.out.println("本系統(tǒng)支持的房間編號(hào):");
? ? ? ? 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("----------歡迎進(jìn)入酒店管理系統(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("請(qǐng)輸入你的選擇:(按center鍵確認(rèn))");
? ? ? ? ? ? int n = sc.nextInt();
?
? ? ? ? ? ? //實(shí)現(xiàn)選擇的功能
? ? ? ? ? ? switch(n){
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? System.out.println("請(qǐng)輸入訂房的編號(hào):");
? ? ? ? ? ? ? ? ? ? h.order(sc.nextInt());
? ? ? ? ? ? ? ? ? ? System.out.println("恭喜訂房成功!\n");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? System.out.println("請(qǐng)輸入退房的編號(hào):");
? ? ? ? ? ? ? ? ? ? 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虛擬機(jī)的運(yùn)行
? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? System.out.println("指令輸入有誤,請(qǐng)重新輸入!");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java代碼實(shí)現(xiàn)酒店管理系統(tǒng)
- Java實(shí)現(xiàn)簡單酒店管理系統(tǒng)
- Java實(shí)戰(zhàn)之酒店人事管理系統(tǒng)的實(shí)現(xiàn)
- Java 實(shí)戰(zhàn)練手項(xiàng)目之酒店管理系統(tǒng)的實(shí)現(xiàn)流程
- 基于JavaSwing設(shè)計(jì)和實(shí)現(xiàn)的酒店管理系統(tǒng)
- Java實(shí)現(xiàn)簡單的酒店管理系統(tǒng)
- java實(shí)現(xiàn)酒店管理系統(tǒng)
- Java swing實(shí)現(xiàn)酒店管理系統(tǒng)
- Java實(shí)現(xiàn)酒店客房管理系統(tǒng)
相關(guān)文章
JavaFX如何獲取ListView(列表視圖)的選項(xiàng)
這篇文章主要介紹了JavaFX如何獲取ListView(列表視圖)的選項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
簡單的一次springMVC路由跳轉(zhuǎn)實(shí)現(xiàn)
本文主要介紹了springMVC路由跳轉(zhuǎn)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Spring線程池ThreadPoolTaskExecutor配置詳情
本篇文章主要介紹了Spring線程池ThreadPoolTaskExecutor配置詳情,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決
這篇文章主要給大家介紹了關(guān)于java.io.IOException:?UT010029:?Stream?is?closed異常分析及解決辦法,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02
MyBatis動(dòng)態(tài)SQL與緩存原理深入分析
這篇文章主要介紹了MyBatis動(dòng)態(tài)SQL與緩存原理,Mybatis框架的動(dòng)態(tài)SQL技術(shù)是一種根據(jù)特定條件動(dòng)態(tài)拼裝SQL語句的功能,它存在的意義是為了解決拼接SQL語句字符串時(shí)的痛點(diǎn)問題2023-02-02
SpringMVC跨服務(wù)器上傳文件中出現(xiàn)405錯(cuò)誤的解決
這篇文章主要介紹了SpringMVC跨服務(wù)器上傳文件中出現(xiàn)405錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

