欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java語言實現(xiàn)簡單的酒店前臺管理小功能(實例代碼)

 更新時間:2021年03月02日 11:49:55   作者:酷酷的宇1208  
這篇文章主要介紹了Java語言實現(xiàn)簡單的酒店前臺管理小功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

筆者是一名剛上路的小萌新,有什么問題希望大家可以指正!

以下為題目
為某個酒店編寫程序:酒店管理系統(tǒng),模擬訂房、退房、打印所有房間狀態(tài)等功能。
1、該系統(tǒng)的用戶是:酒店前臺。
2、酒店使用一個二維數(shù)組來模擬?!癛oom[][] rooms;”
3、酒店中的每一個房間應該是一個java對象:Room
4、每一個房間Room應該有:房間編號、房間類型、房間是否空閑.
5、系統(tǒng)應該對外提供的功能:
可以預定房間:用戶輸入房間編號,訂房。
可以退房:用戶輸入房間編號,退房。
可以查看所有房間的狀態(tài):用戶輸入某個指令應該可以查看所有房間狀態(tài)。

以下為該功能的源碼:

Room類(酒店房間類)

package com.kukudeyu.hotelsystem;

public class Room {
 private int id;  //房間編號
 private String type;  //房間類型
 private boolean status;  //房間狀態(tài):true表示空閑,false表示占用

 public Room() {
 }

 public Room(int id, String type, boolean status) {
 this.id = id;
 this.type = type;
 this.status = status;
 }

 public int getId() {
 return id;
 }

 public void setId(int id) {
 this.id = id;
 }

 public String getType() {
 return type;
 }

 public void setType(String type) {
 this.type = type;
 }

 public boolean getStatus() {
 return status;
 }

 public void setStatus(boolean status) {
 this.status = status;
 }

 /*
 * 重寫toString方法
 * 打印出房間詳情信息,其中包括房間編號,類型,狀態(tài)
 * */
 @Override
 public String toString() {
 return "[" + this.id + "," + this.type + "," + (this.status ? "空閑":"占用" ) + "]";
 }

 // 按照慣例,重寫equals方法,作用為判斷兩個房間是否為一個房間
 @Override
 public boolean equals(Object o) {
 if (this == o) return true;
 if (o == null || !(o instanceof Room)) return false;
 Room room = (Room)o;
 if(this.id == room.id){
  return true;
 }
 return false;
 }
}

Hotel類(酒店類)

package com.kukudeyu.hotelsystem;

public class Hotel {
 private Room[][] rooms; //利用二維數(shù)組創(chuàng)建酒店房間數(shù)組

 /*
 利用構造方法來進行酒店房間布置操作
 利用數(shù)組遍歷,創(chuàng)建酒店房間對象放進酒店房間數(shù)組里
 其中,
 一層為單人間,二層為雙人間,三層為總統(tǒng)套房
 */
 public Hotel() {
 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);
  } else if (i == 1) {
   rooms[i][j] = new Room((i + 1) * 100 + j + 1, "雙人間", true);
  } else if (i == 2) {
   rooms[i][j] = new Room((i + 1) * 100 + j + 1, "總統(tǒng)套房", true);
  }
  }
 }
 }

 /*
 print方法提供查看房間列表功能,可以查詢所有房間的當前狀態(tài)
 利用循環(huán)將所有房間對象均調用Room類的toString方法進行房間狀態(tài)查詢
 */
 public void print(){
 for(int i = 0 ; i< rooms.length ; i++){
  for(int j = 0 ; j<rooms[i].length ; j++){
  System.out.print(rooms[i][j].toString()); //調用Room類重寫的toString方法,查看單個房間的狀態(tài)
  }
  System.out.println();
 }
 }

 /*
 提供booking方法,用于修改房間狀態(tài)
 即訂房
 調用getStatus方法查詢房間狀態(tài)
 如果為true為空閑,提示訂房成功
 如果為false為占用,提示房間占用
 */
 public void booking(int id){
 if(rooms[id / 100 -1][id % 100 -1].getStatus()){
  rooms[id / 100 - 1][id % 100 -1].setStatus(false);  //調用setStatus方法對房間狀態(tài)進行修改
  System.out.println("訂房成功!");
 }else{
  System.out.println("房間已占用,請換另外一間房!");
 }
 }

 /*
 提供cancelBooking方法,用于修改房間狀態(tài)
 即退房
 對getStatus方法的返回值使用邏輯非,查詢房間狀態(tài)
 如果為false為占用,
 */
 public void cancelBooking(int id){
 if( rooms[id / 100 -1][id % 100 -1].getStatus() ){
  System.out.println("房間空閑,無需退房!");
 }else{
  rooms[id / 100 - 1][id % 100 -1].setStatus(true);
  System.out.println("退房成功!");
 }
 }
}

HotelSystem類(酒店系統(tǒng)類)

package com.kukudeyu.hotelsystem;

import java.util.Scanner;

public class HotelSystem {
 public static void main(String[] args) {
 Hotel hotel = new Hotel();  //創(chuàng)建一個酒店對象

 System.out.println("----------------------------------------------------------------------------");
 System.out.println("歡迎使用酒店管理系統(tǒng),請認真閱讀以下使用說明!");
 System.out.println("功能編號:【1】查看房間列表?!?】訂房。【3】退房?!?】退出酒店管理系統(tǒng)。");
 System.out.println("----------------------------------------------------------------------------");
 Scanner s = new Scanner(System.in);

 while(true){
  System.out.print("請輸入功能編號:");
  int i = s.nextInt();
  if(i == 1){
  hotel.print();
  }else if(i == 2 ){
  System.out.print("請輸入要訂房的房間編號:");
  int roomid = s.nextInt();
  hotel.booking(roomid); //調用booking方法進行訂房
  }else if(i == 3){
  System.out.print("請輸入要退訂的房間編號:");
  int roomid = s.nextInt();
  hotel.cancelBooking(roomid); //調用cancelBooking方法進行退房
  }else if(i == 4){
  return;
  }
 }
 }
}

到此這篇關于Java語言實現(xiàn)簡單的酒店前臺管理小功能(實例代碼)的文章就介紹到這了,更多相關java酒店前臺管理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于logback 實現(xiàn)springboot超級詳細的日志配置

    基于logback 實現(xiàn)springboot超級詳細的日志配置

    java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當于定義了規(guī)范,實現(xiàn)了這個規(guī)范的日志框架就能夠用 slj4f 調用)。這篇文章主要介紹了基于logback springboot超級詳細的日志配置,需要的朋友可以參考下
    2019-06-06
  • 一篇文章教會你使用java爬取想要的資源

    一篇文章教會你使用java爬取想要的資源

    這篇文章主要介紹了使用java爬蟲爬取想要的資源,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • JVM中的flag設置詳解

    JVM中的flag設置詳解

    這篇文章主要介紹了JVM中的flag設置詳解,涉及堆大小設置,收集器設置等香公館內容,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • SpringBoot通過ip獲取歸屬地的幾種方式分享

    SpringBoot通過ip獲取歸屬地的幾種方式分享

    在日常我們逛網(wǎng)站的時候會發(fā)現(xiàn)我們登錄后會出現(xiàn)歸屬地信息,例如:我在廣州登錄會顯示廣東廣州,有些更加精確的會顯示到區(qū)縣,那么我們來看看有哪些方式來獲取歸屬地信息,今天我們來聊一聊
    2023-09-09
  • MySQL數(shù)據(jù)文件直接通過拷貝備份與恢復的操作方法

    MySQL數(shù)據(jù)文件直接通過拷貝備份與恢復的操作方法

    這篇文章主要介紹了MySQL數(shù)據(jù)文件直接通過拷貝備份與恢復的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Spring?控制反轉和依賴注入的具體使用

    Spring?控制反轉和依賴注入的具體使用

    本文主要介紹了Spring?控制反轉和依賴注入,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能

    springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能

    這篇文章主要給大家介紹了關于springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能的相關資料,Spring?Boot和Vue.js是兩個非常流行的開源框架,可以用來構建Web應用程序,需要的朋友可以參考下
    2023-07-07
  • spring boot搭建文件服務器解決同時上傳多個圖片和下載的問題

    spring boot搭建文件服務器解決同時上傳多個圖片和下載的問題

    這篇文章主要介紹了spring boot搭建文件服務器解決同時上傳多個圖片和下載的問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Java中volatile關鍵字實現(xiàn)原理

    Java中volatile關鍵字實現(xiàn)原理

    本文詳細解讀一下volatile關鍵字如何保證變量在多線程之間的可見性,對Java中volatile關鍵字實現(xiàn)原理感興趣的朋友一起通過本文學習吧
    2017-06-06
  • ShardingSphere解析SQL示例詳解

    ShardingSphere解析SQL示例詳解

    這篇文章主要為大家介紹了ShardingSphere解析SQL的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論