Java代码实现简单酒店管理系统

网友投稿 288 2022-07-25


本文实例为大家分享了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楼:LTAbxdMaIA201 202 203 204 205...210

//3楼:301 302 303 304 305...310

//3层楼,每层10个房间,注:此时还是空的,即空数组,还没赋值

rooms = new Room[3][10];

/http:///初始化房间

for (int i = LTAbxdMaIA0; 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 {

/**

* 为某个酒店编写程序:酒店管理系统,模拟订房、退房和打印所有房间状态等功能

* 1.该系统的用户是:酒店前台

* 2.酒店使用一个二维数组来模拟”Room[][] rooms"

* 3.酒店中的每一个房间应该是一个对象:Room

* 4.每一个房间应该有:房间编号、房间类型、房间是否空闲

* 5.一同应该对外提供的功能:

* 订房:用户输入房间编号来订房

* 退房:用户输房间编号来退房

* 查看所有房间状态:用户输入指定的指令来查看

*/

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.ouhttp://t.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;

}

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口自动化测试解决方案,接口自动化测试框架有哪些
下一篇:Java正则表达式API字符类
相关文章

 发表评论

暂时没有评论,来抢沙发吧~