Java代码实现简单酒店管理系统
本文实例为大家分享了Java实现简单酒店管理系统的具体代码,供大家参考,具体内容如下
为某个酒店编写程序:酒店管理系统,模拟订房、退房和打印所有房间状态等功能
1.该系统的用户是:酒店前台
2.酒店使用一个二维数组来模拟”Room[][] rooms"
3.酒店中的每一个房间应该是一个对象:Room
4.每一个房间应该有:房间编号、房间类型、房间是否空闲
5.一同应该对外提供的功能:
订房:用户输入房间编号来订房
退房:用户输房间编号来退房
查看所有房间状态:用户输入指定的指令来查看
房间类
//酒店的房间类
public class Room {
//房间编号
private int no;
//房间类型:标准间 单人间 总统套房
private String type;
//房间是否空闲
private boolean status;
public Room() {
}
public Room(int no, String type, boolean status) {
this.no = no;
this.type = type;
this.status = status;
}
@Override
public String toString() {
return "["+no+","+type+","+(status ? "空闲" : "占用")+"]";
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
}
酒店类
//酒店类
public class Hotel {
//创建二维数组存放房间
private Room[][] rooms;
//通过构造方法给酒店盖房间,即二维数组的空间大小
public Hotel() {
//一共有几层,每层的房间类型是什么,每个房间的编号是什么
//这里先写死,一共3层,1层单人间,2层标准间,3层总统套房
//本系统支持的房间编号:
//1楼:101 102 103 104 105...110
//2楼:201 202 203 204 205...210
//3楼:301 302 303 304 305...310
//3层楼,每层10个房间,注:此时还是空的,即空数组,还没赋值
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);//true为空闲房间
} else if (i == 1) {
rooms[i][j] = new Room((i + 1) * 100 + j + 1, "标准间", true);
} else {
rooms[i][j] = new Room((i + 1) * 100 + j + 1, "总统套房", true);
}
}
}
}
//输出房间信息,即打印输出二维数组
public void print(){
for (int i = 0; i < rooms.length; i++) {
System.out.print("第" + (i + 1) + "层: ");
for (int j = 0; j < rooms[i].length; j++) {
//输出每层的所有房间
//System.out.print(rooms[i][j]+" ");
Room r = rooms[i][j];
System.out.print(r.toString()+" ");
}
System.out.println();//换行输出每层的房间
}
}
//订房,将订房的房间对象中的status修改为flase,即占用
public void order(int n){
//例:205 205/100-1==1 205%100-1==4 即数组rooms[1][4]
Room r = rooms[n/100-1][n%100-1];
//修改为占用
r.setStatus(false);
}
//退房,跟订房同理,只需将status修改为true即可
public void exit(int n){
Room r = rooms[n/100-1][n%100-1];
r.setStatus(true);
}
}
酒店管理系统的实现类
import java.util.Scanner;
//测试类
public class HotelMgtSystem {
public static void main(String[] args) {
//创建酒店对象
Hotel h = new Hotel();
Scanner sc = new Scanner(System.in);
//提示用户输入的房间编号信息
System.out.println("本系统支持的房间编号:");
System.out.println("1楼: 101 102 103 104 105...110");
System.out.println("2楼: 201 202 203 204 205...210");
System.out.println("3楼: 301 302 303 304 305...310");
//构建主界面
System.out.println("----------欢迎进入酒店管理系统----------");
while(true){
System.out.println("1 订房");
System.out.println("2 退房");
System.out.println("3 查看所有房间的状态");
System.out.println("4 退出系统");
System.out.println("请输入你的选择:(按center键确认)");
int n = sc.nextInt();
//实现选择的功能
switch(n){
case 1:
System.out.println("请输入订房的编号:");
h.order(sc.nextInt());
System.out.println("恭喜订房成功!\n");
break;
case 2:
System.out.println("请输入退房的编号:");
h.exit(sc.nextInt());
System.out.println("恭喜退房成功!\n");
break;
case 3:
System.out.println("所有房间的状态信息如下所示:");
h.print();
break;
case 4:
System.out.println("系统正在退出中......");
System.out.println("\n系统已退出,欢迎下次光临!");
System.exit(0);//结束JVM虚拟机的运行
default:
System.out.println("指令输入有误,请重新输入!");
break;
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关文章