Java实现简单的酒店管理系统
作者:梦小娴 发布时间:2022-05-10 01:32:12
标签: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;
}
}
}
}
关于管理系统的更多内容请点击《管理系统专题》进行学习
来源:https://blog.csdn.net/weixin_44350205/article/details/107600002


猜你喜欢
- jdk下载并配置下载jdk下图是自己资源管理器中jdk的安装路径,双击然后next就好,不需要改什么配置手里没有安装包的,下载地址在这里 :
- SpringMVC * path路径的坑SpringMVC提供了很方便的 * 供我们开发使用。在配置文件中通过<mvc:mapping
- try catch介绍我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这是因为Java提供了一个“捕获”异常的
- 前言单例模式,是工作中比较常见的一种设计模式,通常有两种实现方式,懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使
- Lombok简介和其他语言相比,Java经常因为不必要的冗长被批评。Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,
- 本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下:System.out.p
- 差不多一年前在自己的项目中用过这效果,虽然很简单,但还是写写。1、首先在你的res目录下新建anim子目录,并在anim目录下新建两个文件:
- 在使用IDEA写代码的时候,打开tabs都挤在一行,当打开页面过多的时候,前面的页面无法直观看到,非常不方便。通过简单设置就可以实现tabs
- 想要实现一个功能:同一个用户在两个不同的浏览器中登录,后面的踢掉之前的登录。本来的思路是在httpSession * 中进行判断。但是在使用
- Java序列化是什么?Java序列化是指把Java对象转换为字节序列的过程,Java反序列化是指把字节序列恢复为Java对象的过程。反序列化
- 被覆盖比较好理解,类似于多态的实现,访问时通过类方法表来访问,你实际是什么类型,访问的方法就是那个类型的方法而不会是你的父类的方法。被隐藏是
- 在android开发中我们常常遇到与到乱码问题,遇到乱码问题首先我们要先检查两端编码格式是否一致!一般我们提交数据用get 和post方法,
- 使用的是 idea - Lifecycle-package 的方式打包(maven)确认 <packaging>wa
- 方法1: int d=10; d.ToString("x") //或把x改为X,,,就变成了16位的字符串了. int
- 1 修饰属性或者变量无论属性是基本类型还是引用类型,作用都是变量里面存放的“值”不可变经常和static关键字一起使用,作为常量1 基本类型
- 方法一:递归算法/// <summary>/// 一列数的规则如下: 1、1、2、3、5、8、13、21、34求第30位数是多少
- 一 概述DiffUtil是support-v7:24.2.0中的新工具类,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。 说
- 一.使用MSScriptControl 到微软的网站上下载Windows Script Control,它是一个ActiveX(R) 控件,
- 在Java 8之前,对集合进行排序需要为排序中使用的比较器 Comparator 创建一个匿名内部类:new Compa
- 一、java异常总结:异常就是程序运行时出现不正常运行情况1.异常由来:通过java的类的形式对现实事物中问题的描述,并封住成了对象其实就是