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

 更新时间:2022年06月09日 16:25:27   作者:梦小娴  
这篇文章主要为大家详细介绍了java实现酒店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现酒店管理系统的具体代码,供大家参考,具体内容如下

要求:

【酒店管理系统】HotelSystem.java

某酒店有12层楼,每层楼有10个房间(二维数组),要求为该酒店设计一套简单的前台房间管理程序,
该程序可以通过在命令行输入命令来为客人办理入住和退房手续。
要求该程序支持通过命令行输入以下命令来进行入住,退房及查询的操作:

(1)、search:查询所有房间的状态  无人住显示empty,有人则显示住户姓名
(2)、in 房间号码 姓名 :客人入住 命令:in 请输入客人入住的房间号 1202 请输入入住1202房间的顾客的姓
名 parker 提示:姓名为parker的客人入住1202房间
注意:如果某个房间已经有客人入住,在办理入住时,将提示“该房间已有客人入住”
(3)、out 房间号码:客人退房 命令:out 1202 提示:1202房间退房
(4)、quit:退出程序

实现:

import java.util.Scanner;
 
public class HotelSystem {
 
 //房间数量
 int[][] house=new int[12][10];
 //住户姓名
 String[] householdName=new String[120];
 
 
 public HotelSystem()
 {
 Init();
 }
 //初始化数组
 public void Init()
 {
 for(int i=0;i<12;i++)
 {
 for(int j=0;j<10;j++)
 {
 house[i][j]=0;
 }
 }
 }
 //查询
 public void Search(HotelSystem hotel)
 {
 System.out.println("■■■■■■■■■■■■房间状态查询结果如下■■■■■■■■■■■■");
 for(int i=0;i<12;i++)
 {
 for(int j=0;j<10;j++)
 {
 if(hotel.house[i][j]==0)
 {
  System.out.println(i*10+j+1+"号房间无人居住");
 }
 else if(hotel.house[i][j]==1)
 {
  System.out.println(i*10+j+1+"号房间"+hotel.householdName[i*10+j+1]+"在住");
 }
 }
 }
 }
 //入住
 public void InHouse(HotelSystem hotel,int housNums,String name,Scanner sc)
 {
 System.out.println("■■■■■■■■■■■■客人入住■■■■■■■■■■■■");
 System.out.println("请输入客人入住的房间号");
 housNums=sc.nextInt();
 System.out.println("请输入入住"+housNums+"房间的顾客的姓名");
 name=sc.next();
 for(int i=0;i<12;i++)
 {
 for(int j=0;j<10;j++)
 {
 if(housNums==(i*10+j+1) && hotel.house[i][j]==0)
 {
  hotel.house[i][j]=1;
  hotel.householdName[housNums]=name;
  System.out.println("姓名为"+hotel.householdName[housNums]
  +"的客人入住"+housNums+"号房间");
  return;
 }
 else if(housNums==(i*10+j+1) && hotel.house[i][j]==1)
 {
  System.out.println("不好意思该房间已有客人入住");
  return;
 }
 }
 }
 }
 //退房
 public void OutHouse(HotelSystem hotel,int housNums,Scanner sc)
 {
 System.out.println("■■■■■■■■■■■■客人退房■■■■■■■■■■■■");
 System.out.println("请输入需要退房的房间号");
 housNums=sc.nextInt();
 for(int i=0;i<12;i++)
 {
 for(int j=0;j<10;j++)
 {
 if(housNums==(i*10+j+1) && hotel.house[i][j]==1)
 {
  hotel.house[i][j]=0;
  System.out.println(housNums+"号房间成功退房");  
  return;
 }
 }
 } 
 System.out.println("退房失败!");
 }
 //退出
 public void Quit()
 {
 System.out.println("■■■■■■■■■■■■退出程序■■■■■■■■■■■■");
 System.out.println("■■■■■■■■■■■■感谢使用,系统正在退出...■■■■■■■■■■■■");
 }
 
 public static void main(String[] args) {
 HotelSystem hotel=new HotelSystem();
 String command=null;
 int housNums=0;
 String name=null;
 
 Scanner sc=new Scanner(System.in);
 
 while(true)
 {
 System.out.println("■■■■■■■■■■■酒店管理系统命令■■■■■■■■■■■■■");
 System.out.println("■■■■■■■■■■■1、search  ■■■■■■■■■■■■■");
 System.out.println("■■■■■■■■■■■2、in   ■■■■■■■■■■■■■");
 System.out.println("■■■■■■■■■■■3、out   ■■■■■■■■■■■■■");
 System.out.println("■■■■■■■■■■■4、quit  ■■■■■■■■■■■■■");
 System.out.println("请输入你需要执行的命令");
 command=sc.next();
 if(command.equals("search"))
 {
 hotel.Search(hotel);
 }
 else if(command.equals("in"))
 {
 hotel.InHouse(hotel, housNums, name, sc);
 }
 else if(command.equals("out"))
 {
 hotel.OutHouse(hotel, housNums, sc);
 }
 else if(command.equals("quit"))
 {
 hotel.Quit();
 return;
 }
 }
 
 }
 
}

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringCloudGateway 网关登录校验实现思路

    SpringCloudGateway 网关登录校验实现思路

    文章介绍了在微服务架构中使用Spring Cloud Gateway进行登录校验的方法,通过在网关层面进行登录校验,并将用户信息通过请求头传递给下游微服务,解决了每个微服务都需要独立进行登录校验的问题,此外,还讨论了如何在微服务之间传递用户信息
    2024-11-11
  • Java之如何截取视频第一帧

    Java之如何截取视频第一帧

    这篇文章主要介绍了Java之如何截取视频第一帧问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 以实例简介Java中线程池的工作特点

    以实例简介Java中线程池的工作特点

    这篇文章主要介绍了以实例简介Java中线程池的工作特点,线程池是Java实现多线程编程的基础,需要的朋友可以参考下
    2015-09-09
  • Freemarker常用指令使用示例

    Freemarker常用指令使用示例

    这篇文章主要介绍了Freemarker常用指令使用示例,步骤简单,大家参考使用吧
    2013-11-11
  • MybatisPlus QueryWrapper常用方法实例

    MybatisPlus QueryWrapper常用方法实例

    MyBatis-Plus(opens new window)是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于MybatisPlus QueryWrapper常用方法的相关资料,需要的朋友可以参考下
    2022-04-04
  • 解决Eclipse/STS中出现Resource is out of sync with the file system的异常问题

    解决Eclipse/STS中出现Resource is out of sync with the file system

    今天小编就为大家分享一篇关于解决Eclipse/STS中出现Resource is out of sync with the file system的异常问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Spring Boot项目如何同时支持HTTP和HTTPS协议的实现

    Spring Boot项目如何同时支持HTTP和HTTPS协议的实现

    这篇文章主要介绍了Spring Boot项目如何同时支持HTTP和HTTPS协议的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • IDEA启动tomcat控制台中文乱码问题的解决方法(100%有效)

    IDEA启动tomcat控制台中文乱码问题的解决方法(100%有效)

    很多人在idea中启动项目时会出现控制台的中文乱码,其实也无伤大雅,但是本人看着不舒服,下面这篇文章主要给大家介绍了关于IDEA启动tomcat控制台中文乱码问题的解决方法,需要的朋友可以参考下
    2022-09-09
  • IDEA中如何移除未使用的包

    IDEA中如何移除未使用的包

    这篇文章主要介绍了IDEA中如何移除未使用的包问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java线程关闭的3种方法

    Java线程关闭的3种方法

    这篇文章介绍了Java线程关闭的3种方法,有需要的朋友可以参考一下
    2013-10-10

最新评论