Java语言实现简单的酒店前台管理小功能(实例代码)

笔者是一名刚上路的小萌新,有什么问题希望大家可以指正!

以下为题目
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。
1、该系统的用户是:酒店前台。
2、酒店使用一个二维数组来模拟。“Room[][] rooms;”
3、酒店中的每一个房间应该是一个java对象:Room
4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.
5、系统应该对外提供的功能:
可以预定房间:用户输入房间编号,订房。
可以退房:用户输入房间编号,退房。
可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。

以下为该功能的源码:

Room类(酒店房间类)

package com.kukudeyu.hotelsystem;

public class Room {
 private int id;  //房间编号
 private String type;  //房间类型
 private boolean status;  //房间状态: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方法
 * 打印出房间详情信息,其中包括房间编号,类型,状态
 * */
 @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; //利用二维数组创建酒店房间数组

 /*
 利用构造方法来进行酒店房间布置操作
 利用数组遍历,创建酒店房间对象放进酒店房间数组里
 其中,
 一层为单人间,二层为双人间,三层为总统套房
 */
 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, "总统套房", true);
  }
  }
 }
 }

 /*
 print方法提供查看房间列表功能,可以查询所有房间的当前状态
 利用循环将所有房间对象均调用Room类的toString方法进行房间状态查询
 */
 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方法,查看单个房间的状态
  }
  System.out.println();
 }
 }

 /*
 提供booking方法,用于修改房间状态
 即订房
 调用getStatus方法查询房间状态
 如果为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方法对房间状态进行修改
  System.out.println("订房成功!");
 }else{
  System.out.println("房间已占用,请换另外一间房!");
 }
 }

 /*
 提供cancelBooking方法,用于修改房间状态
 即退房
 对getStatus方法的返回值使用逻辑非,查询房间状态
 如果为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类(酒店系统类)

package com.kukudeyu.hotelsystem;

import java.util.Scanner;

public class HotelSystem {
 public static void main(String[] args) {
 Hotel hotel = new Hotel();  //创建一个酒店对象

 System.out.println("----------------------------------------------------------------------------");
 System.out.println("欢迎使用酒店管理系统,请认真阅读以下使用说明!");
 System.out.println("功能编号:【1】查看房间列表。【2】订房。【3】退房。【4】退出酒店管理系统。");
 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语言实现简单的酒店前台管理小功能(实例代码)的文章就介绍到这了,更多相关java酒店前台管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现酒店客房管理系统

    本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 LoginFrame.java package loginManage; import java.awt.Color; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing

  • java实现酒店管理系统

    本文实例为大家分享了java实现酒店管理系统的具体代码,供大家参考,具体内容如下 编写环境:MyEclipse2014+sql server2014 系统功能: 1.登录验证 2.房态统计显示 3.预定登记并入库 4.入住登记并入库 5.换房登记并入库 6.客人信息查询 7.退房并入库 运行界面如下: =====登录界面====== =====主界面===== =====为每个房间设置弹出菜单====== =====登记界面====== =====换房界面===== =====退房界面=====

  • Java swing实现酒店管理系统

    今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: package 主框架窗口; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEven

  • Java实现简单的酒店管理系统

    本文实例为大家分享了java实现酒店管理系统的具体代码,供大家参考,具体内容如下 要求: [酒店管理系统]HotelSystem.java 某酒店有12层楼,每层楼有10个房间(二维数组),要求为该酒店设计一套简单的前台房间管理程序,该程序可以通过在命令行输入命令来为客人办理入住和退房手续.要求该程序支持通过命令行输入以下命令来进行入住,退房及查询的操作: (1).search:查询所有房间的状态  无人住显示empty,有人则显示住户姓名(2).in 房间号码 姓名 :客人入住 命令:in 请

  • Java语言实现简单的酒店前台管理小功能(实例代码)

    笔者是一名刚上路的小萌新,有什么问题希望大家可以指正! 以下为题目: 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能. 1.该系统的用户是:酒店前台. 2.酒店使用一个二维数组来模拟."Room[][] rooms;" 3.酒店中的每一个房间应该是一个java对象:Room 4.每一个房间Room应该有:房间编号.房间类型.房间是否空闲. 5.系统应该对外提供的功能: 可以预定房间:用户输入房间编号,订房. 可以退房:用户输入房间编号,退房. 可以查看所有房间

  • Java语言实现简单FTP软件 FTP上传下载管理模块实现(11)

    本文为大家分享了FTP上传下载管理模块的实现方法,供大家参考,具体内容如下 1.上传本地文件或文件夹到远程FTP服务器端的功能. 当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图 选择好要上传的文件或文件夹,点击"上传"按钮,会触发com.oyp.ftp.panel.local.UploadAction类的actionPerformed(ActionEvent e)方法,其主要代码如下 /** * 上传

  • Java语言实现简单FTP软件 FTP软件主界面(4)

    首先看一下FTP软件的整体代码框架,具体内容如下 1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.UIManager; import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel; public class F

  • Java手写图书管理基本功能附代码

    目录 1.book包 2.user包 3.operate包 Java中的最主要的语法之前基本都介绍完毕,本篇将使用之前的内容来写一个简单的图书管理系统,中间会展示部分代码来讲解,源码地址在这项目: 个人练习的项目 - Gitee.com 首先还是来看看运行的效果 我们来分析一下: Java中是通过对象之间的交互来解决事情的,所以我们来看看有哪些对象 首先显而易见的两个对象:用户和书,所以创建两个包book和user 通过上图可以看到:不同用户之间有相同的操作,也有不同的操作,所以不妨将所有的操作

  • 基于Java语言在窗体上实现飞机大战小游戏的完整步骤

    目录 小组项目 模块需求描述 总体开发思想 功能实现 1.登录与结束界面 2.播放音乐 3.子弹 运行测试 登陆界面 发射子弹 总结 小组项目 飞机大战:用 Java 语言在窗体上实现飞机大战小游戏,运行程序后,出现一个窗体,在窗体上用鼠标控制英雄机的移动,通过子弹打击敌机进行分数的计算,以及英雄机血量的计算等. 主要模块:登陆界面.音乐.子弹.敌机.英雄机.背景图.结束界面.BOSS 机.分数计算.血量计算. 负责模块:登陆界面.音乐.子弹.结束界面. 模块需求描述 登陆界面:运行程序后,弹出

  • Java 两种延时thread和timer详解及实例代码

    Java 两种延时thread和timer详解及实例代码 在Java中有时候需要使程序暂停一点时间,称为延时.普通延时用Thread.sleep(int)方法,这很简单.它将当前线程挂起指定的毫秒数.如 try { Thread.currentThread().sleep(1000);//毫秒 } catch(Exception e){} 在这里需要解释一下线程沉睡的时间.sleep()方法并不能够让程序"严格"的沉睡指定的时间.例如当使用5000作为sleep()方法的参数时,线 程

  • java 单播、广播、组播详解及实例代码

    java 单播.广播.组播详解及实例代码 在当前网络通信中(TCP/IP也不例外)有三种通信模式:单播.广播.组播(又叫多播, 个人感觉叫多播描述的有点不恰当),其中多播出现的时间最晚,但同时具备单播和广播的优点,最具有发展前景. 一.通信方式分类: 1.单播:单台主机与单台主机之间的通信: 2.广播:单台主机与网络中所有主机的通信: 3.组播:单台主机与选定的一组主机的通信: 二.单播:    单播是网络通信中最常见的,网络节点之间的通信 就好像是人们之间的对话一样.如果一个人对另外一个人说话

  • Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_test.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import ja

  • java编程实现杨辉三角两种输出结果实例代码

    首先展示下结果: 简介: 杨辉三角,是二项式系数在三角形中的一种几何排列.在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年.杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的优美结合. 实例代码如下: package com.sxt; import java.util.Arrays; public class KeBen { p

  • Java实现FTP服务器功能实例代码

    FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download).FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录.列文件目录.设置传输参数及传送文件等.使用FTP可以传送所有类型的文件,如文本文件.二进制可执

随机推荐