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

Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的酒店前臺(tái)管理小功能(實(shí)例代碼)

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

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

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

以下為該功能的源碼:

Room類(酒店房間類)

package com.kukudeyu.hotelsystem;

public class Room {
 private int id;  //房間編號(hào)
 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方法
 * 打印出房間詳情信息,其中包括房間編號(hào),類型,狀態(tài)
 * */
 @Override
 public String toString() {
 return "[" + this.id + "," + this.type + "," + (this.status ? "空閑":"占用" ) + "]";
 }

 // 按照慣例,重寫equals方法,作用為判斷兩個(gè)房間是否為一個(gè)房間
 @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)造方法來(lái)進(jìn)行酒店房間布置操作
 利用數(shù)組遍歷,創(chuàng)建酒店房間對(duì)象放進(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)將所有房間對(duì)象均調(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方法,查看單個(gè)房間的狀態(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方法對(duì)房間狀態(tài)進(jìn)行修改
  System.out.println("訂房成功!");
 }else{
  System.out.println("房間已占用,請(qǐng)換另外一間房!");
 }
 }

 /*
 提供cancelBooking方法,用于修改房間狀態(tài)
 即退房
 對(duì)getStatus方法的返回值使用邏輯非,查詢房間狀態(tài)
 如果為false為占用,
 */
 public void cancelBooking(int id){
 if( rooms[id / 100 -1][id % 100 -1].getStatus() ){
  System.out.println("房間空閑,無(wú)需退房!");
 }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)建一個(gè)酒店對(duì)象

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

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

到此這篇關(guān)于Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的酒店前臺(tái)管理小功能(實(shí)例代碼)的文章就介紹到這了,更多相關(guān)java酒店前臺(tái)管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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第一個(gè)程序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • SpringBoot整合Mybatis?LocalDateTime?映射失效的解決

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

    這篇文章主要介紹了SpringBoot整合Mybatis?LocalDateTime?映射失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    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ù)中必不可少的一個(gè)內(nèi)容,所以這篇文章主要來(lái)和大家講解一下Java多態(tài)的實(shí)現(xiàn)和應(yīng)用,感興趣的小伙伴可以了解一下
    2023-07-07
  • Java實(shí)現(xiàn)JDBC批量插入原理詳解

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

    在JDBC中,executeBatch這個(gè)方法可以將多條dml語(yǔ)句批量執(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)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊(cè)增刪改查功能的示例代碼

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

    這篇文章主要介紹了Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊(cè)增刪改查功能的示例代碼,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    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如何通過(guò)遞歸計(jì)算出階乘,文中介紹了遞歸的使用方法和基本特點(diǎn),以及相關(guān)示例代碼,對(duì)大家的學(xué)習(xí)有一定的幫助,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

洛南县| 苗栗县| 泊头市| 邳州市| 莲花县| 嘉定区| 历史| 虎林市| 宁安市| 连城县| 商都县| 合作市| 河东区| 丰原市| 九龙坡区| 错那县| 资源县| 额济纳旗| 子长县| 麟游县| 阜南县| 定结县| 通化市| 香格里拉县| 五峰| 青浦区| 宜宾县| 黄浦区| 富平县| 北安市| 荣昌县| 黎城县| 石阡县| 连南| 新巴尔虎右旗| 西藏| 民勤县| 淮滨县| 巴青县| 庆阳市| 乌拉特前旗|