最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

 /*
 利用構(gòu)造方法來進(jìn)行酒店房間布置操作
 利用數(shù)組遍歷,創(chuàng)建酒店房間對象放進(jìn)酒店房間數(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方法提供查看房間列表功能,可以查詢所有房間的當(dāng)前狀態(tài)
 利用循環(huán)將所有房間對象均調(diào)用Room類的toString方法進(jìn)行房間狀態(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()); //調(diào)用Room類重寫的toString方法,查看單個房間的狀態(tài)
  }
  System.out.println();
 }
 }

 /*
 提供booking方法,用于修改房間狀態(tài)
 即訂房
 調(diào)用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);  //調(diào)用setStatus方法對房間狀態(tài)進(jìn)行修改
  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),請認(rèn)真閱讀以下使用說明!");
 System.out.println("功能編號:【1】查看房間列表?!?】訂房?!?】退房?!?】退出酒店管理系統(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); //調(diào)用booking方法進(jìn)行訂房
  }else if(i == 3){
  System.out.print("請輸入要退訂的房間編號:");
  int roomid = s.nextInt();
  hotel.cancelBooking(roomid); //調(diào)用cancelBooking方法進(jìn)行退房
  }else if(i == 4){
  return;
  }
 }
 }
}

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

相關(guān)文章

  • java類中生成jfreechart,返回圖表的url地址 代碼分享

    java類中生成jfreechart,返回圖表的url地址 代碼分享

    這篇文章介紹了java類中生成jfreechart,返回圖表的url地址的代碼,有需要的朋友可以參考一下
    2013-08-08
  • Maven學(xué)習(xí)----Maven安裝與環(huán)境變量配置教程

    Maven學(xué)習(xí)----Maven安裝與環(huán)境變量配置教程

    這篇文章主要給大家介紹了關(guān)于如何利用Maven入手Spring Boot第一個程序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • SpringBoot整合Mybatis?LocalDateTime?映射失效的解決

    SpringBoot整合Mybatis?LocalDateTime?映射失效的解決

    這篇文章主要介紹了SpringBoot整合Mybatis?LocalDateTime?映射失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 深入淺出探究Java多態(tài)的實(shí)現(xiàn)和應(yīng)用

    深入淺出探究Java多態(tài)的實(shí)現(xiàn)和應(yīng)用

    多態(tài)是實(shí)現(xiàn)面向?qū)ο蟮能浖夹g(shù)中必不可少的一個內(nèi)容,所以這篇文章主要來和大家講解一下Java多態(tài)的實(shí)現(xiàn)和應(yīng)用,感興趣的小伙伴可以了解一下
    2023-07-07
  • Java實(shí)現(xiàn)JDBC批量插入原理詳解

    Java實(shí)現(xiàn)JDBC批量插入原理詳解

    在JDBC中,executeBatch這個方法可以將多條dml語句批量執(zhí)行,效率比單條執(zhí)行executeUpdate高很多,這是什么原理呢?在mysql和oracle中又是如何實(shí)現(xiàn)批量執(zhí)行的呢?本文將給大家介紹這背后的原理
    2023-03-03
  • MyBatis傳入?yún)?shù)的實(shí)例代碼

    MyBatis傳入?yún)?shù)的實(shí)例代碼

    這篇文章主要介紹了MyBatis傳入?yún)?shù)的實(shí)例代碼的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊增刪改查功能的示例代碼

    Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊增刪改查功能的示例代碼

    這篇文章主要介紹了Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊增刪改查功能的示例代碼,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 使用Spring Boot Mybatis 搞反向工程的步驟

    使用Spring Boot Mybatis 搞反向工程的步驟

    這篇文章主要介紹了使用Spring Boot Mybatis 搞反向工程的步驟,幫助大家更好的理解和使用spring boot框架,感興趣的朋友可以了解下
    2021-01-01
  • java并發(fā)編程StampedLock高性能讀寫鎖詳解

    java并發(fā)編程StampedLock高性能讀寫鎖詳解

    這篇文章主要為大家介紹了java并發(fā)編程StampedLock高性能讀寫鎖的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Java如何利用遞歸計(jì)算出階乘

    Java如何利用遞歸計(jì)算出階乘

    這篇文章主要介紹了Java如何通過遞歸計(jì)算出階乘,文中介紹了遞歸的使用方法和基本特點(diǎn),以及相關(guān)示例代碼,對大家的學(xué)習(xí)有一定的幫助,需要的朋友可以參考下
    2023-05-05

最新評論

五常市| 平罗县| 宽甸| 外汇| 三明市| 晋州市| 偏关县| 繁峙县| 怀集县| 莱州市| 兴海县| 安仁县| 陕西省| 阳曲县| 呼和浩特市| 乌鲁木齐市| 青神县| 松原市| 乌海市| 兰考县| 贺州市| 来凤县| 茶陵县| 东乌| 日土县| 渝北区| 从化市| 炎陵县| 荥经县| 昆山市| 邮箱| 大冶市| 扎鲁特旗| 和龙市| 天祝| 北宁市| 定远县| 鄂尔多斯市| 都兰县| 屏东市| 玛沁县|