酒店管理系统——Java实现(小项目)
2021/10/6 17:12:32
本文主要是介绍酒店管理系统——Java实现(小项目),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
为酒店编写程序:酒店管理系统,模拟订房,退房,打印所有房间状态等功能。要求
1.系统用户:酒店前台
2.酒店使用一个二维数组来模拟。“Room[][] rooms;”
3.酒店的每个房间都是一个Java对象:Room
4.每个房间都有:编号,类型,房间状态
5.系统应该对外提供的功能:
预定房间:用户输入房间编号,订房
退房:用户输入房间编号,退房
查看所有房间状态:用户输入某个指令即可查看所有房间状态
思路
第一步 创建房间
由于每个房间都是一个对象(对象是new出来的)并且房间的属性也有提到,所有可以先创建一个Room类。
Room类中所有的属性都私有化,并对外提供get和set方法,然后提供两个构造方法,一个无参,一个有参,并且重新Object的的toString方法和equals方法(这两个方法可以重写成自己需要的样子,当然也可以不重写)
在子类我将toString方法重写为打印房间状态的方法,在房间状态这里使用了三目运算符:
b ? x : y
里面的?是格式要求,如果b的值为true,则为结果x,否则为结果y。
而equals方法我重写为如果两个房间的编号相同则为同一个房间。
Room.class部分代码如下:
//最好重写toString方法和equals方法,如果不重写调用的就是Object里面的 public class Room{ private int roomnumber; private String type; private boolean flag; public Room() { } public Room(int roomnumber, String type, boolean flag) { this.roomnumber = roomnumber; this.type = type; this.flag = flag; } public int getRoomnumber() { return roomnumber; } public void setRoomnumber(int roomnumber) { this.roomnumber = roomnumber; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } //重写equals方法 public boolean equals(Object obj){ } //重写toString方法,可以转换成输出房间信息 public String toString(){ //三目运算符 return "["+this.getRoomnumber()+","+this.getType()+","+(this.isFlag()?"占用":"空闲")+"]"; } }
搭建酒店
现在房间创建好了,一个酒店有多个房间组成,使用可以创建一个Hotel类,在里面搭建酒店。
酒店里面只有一个私有的Room类型的数组,由于现在水平有限,只能通过无参构造方法将酒店里面的每一个房间写死。并且在酒店里面实现所有的方法
部分代码实现:
public class Hotel { private Room[][] rooms; //无参构造 public Hotel(){ } //打印所有房间状态即遍历二维数组rooms public void printRooms(){ } public void bookRoom(int roomnumber){ } public void reRoom(int roomnumber){ } }
第三步,编写测试类
测试项目要求的功能是否实现
在这里通过while循环可以一直输入,然后通过判断输入的编号进行下一步的功能。
tip:不能把以下代码写到循环外面,否则将会一直循环输出,导致电脑死机。
System.out.println("请输入编号:"); int i = s.nextInt();
**
HotelMgSystem.class部分代码实现:
public class HotelMgSystem { public static void main(String[] args) { System.out.println("输入[1]表示查看房间列表,[2]表示订房,[3]表示退房,[0]表示退出系统"); while (true){ System.out.println("请输入编号:"); int i = s.nextInt(); if(i==1){ }else if (i==2){ System.out.println("请输入房间号:"); }else if (i==3){ System.out.println("请输入房间号:"); }else if (i==0){ System.out.println("欢迎下次使用!"); return; } else { System.out.println("输入编号错误,请重新输入:"); } } } }
二、结果展示
打印所有房间状态功能实现:
最初的状态:
当房间被订后会显示占用,并且不能再被预定:
订房功能
如果房间空闲:
房间被占用:
退房
退出系统
总结
这个只是一个小小的项目,还可以改进很多小细节(如输出所有被预定的房间或者空闲的房间、已经输入的内容不正确等这些是现在的能力可以做到的)还有就是运用以后的学到的新知识,如数据库来存储被预定的房间、其他改变的地方,而不是像现在这样没一次运行都是全新的系统。
最后Java是一门面向对象的编程语言,要学会用面向对象的思想去编写代码(这是一个让人哭泣的过程)。
这篇关于酒店管理系统——Java实现(小项目)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南