编写Java程序实现小型酒店管理系统。

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

1、该系统的用户是:酒店前台。

2、酒店使用一个二维数组来模拟。“Room[][] rooms;”

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

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

5、系统应该对外提供的功能:

可以预定房间:用户输入房间编号,订房。

可以退房:用户输入房间编号,退房。

可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。

Room类:

import java.util.Objects;

//酒店房间类。
public class Room {
/*
房间编号:
一楼:101 102 103 104 105 106 ...
二楼:201 202 203 204 205 206 ...
三楼:301 302 303 304 305 306 ...
.......
*/
private int no;
/*
房间类型:标准间,单人间,豪华间
*/
private String type;
;
/*
true表示房间空闲,可以预定。
false表示房间占用,不能预定。
*/
private boolean status;

public Room() {

}

public Room(int no, String type, boolean status) {
this.no = no;
this.type = type;
this.status = 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;
}

/*
equals方法:比较两个房间编号是不是同一个房间类型。
*/
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Room room = (Room) o;
return no == room.no && Objects.equals(type, room.type);
}


public String toString() {
return "Room{" + no + "," + type + '\'' + ", " + (status ? "空闲" : "占用") + " }";
}
}

Hotel类:

//酒店对象,二维数组模拟酒店大厦
public class Hotel {

private Room[][] rooms;

/*
房间编号:
一楼:101 102 103 104 105 106 ...
二楼:201 202 203 204 205 206 ...
三楼:301 302 303 304 305 306 ...
.......
*/
public Hotel() {
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);
} else if (i == 1) {
rooms[i][j] = new Room((i + 1) * 100 + j + 1, "标准间", true);
} else if (i == 2) {
rooms[i][j] = new Room((i + 1) * 100 + j + 1, "豪华间", true);
}
}
}
}

/*
print:打印房间状态列表的方法。
*/
public void print() {
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
Room room = rooms[i][j];
System.out.print(room);
}
System.out.println();
}
}
/*
order:订房方法,订完房后,放被占用。
将room对象的status属性修改为false。
*/
public void order(int roomNo) {
Room room = rooms[roomNo / 100 - 1][roomNo % 100 - 1];
room.setStatus(false);
System.out.println(roomNo+"订房成功");
}
/*
exit:退房方法,退完房,房间空闲
将room的statues属性修改为true
*/
public void exit(int roomNo){
Room room = rooms[roomNo / 100 - 1][roomNo % 100 - 1];
room.setStatus(true);
System.out.println(roomNo+"退房成功");
}
}

酒店管理系统测试类:

public class HotelMgsSystem {
public static void main(String[] args) {
Hotel hotel=new Hotel();

System.out.println("欢迎使用酒店管理系统,请在使用前阅读以下说明");
System.out.println("功能如下:[1]查看房间状态,[2]订房,[3]退房,[0]退出系统");
Scanner s=new Scanner(System.in);
while(true) {
System.out.print("请输入功能编号:");
int i = s.nextInt();
switch (i) {
case 1:
hotel.print();
break;
case 2:
System.out.print("请输入订房编号:");
int rooms = s.nextInt();
hotel.order(rooms);
break;
case 3:
System.out.print("请输入退房编号:");
int roomNo = s.nextInt();
hotel.exit(roomNo);
break;
case 0:
System.out.println("退出系统成功,欢迎下次使用,谢谢!");
System.exit(0);
break;
default:
System.out.println("对不起您输入的编号错误,请输入正确的编号!");
break;
}
}
}
}

运行结果:

欢迎使用酒店管理系统,请在使用前阅读以下说明
功能如下:[1]查看房间状态,[2]订房,[3]退房,[0]退出系统
请输入功能编号:1
Room{101,单人间', 空闲 }Room{102,单人间', 空闲 }Room{103,单人间', 空闲 }Room{104,单人间', 空闲 }Room{105,单人间', 空闲 }Room{106,单人间', 空闲 }Room{107,单人间', 空闲 }Room{108,单人间', 空闲 }Room{109,单人间', 空闲 }Room{110,单人间', 空闲 }
Room{201,标准间', 空闲 }Room{202,标准间', 空闲 }Room{203,标准间', 空闲 }Room{204,标准间', 空闲 }Room{205,标准间', 空闲 }Room{206,标准间', 空闲 }Room{207,标准间', 空闲 }Room{208,标准间', 空闲 }Room{209,标准间', 空闲 }Room{210,标准间', 空闲 }
Room{301,豪华间', 空闲 }Room{302,豪华间', 空闲 }Room{303,豪华间', 空闲 }Room{304,豪华间', 空闲 }Room{305,豪华间', 空闲 }Room{306,豪华间', 空闲 }Room{307,豪华间', 空闲 }Room{308,豪华间', 空闲 }Room{309,豪华间', 空闲 }Room{310,豪华间', 空闲 }
请输入功能编号:2
请输入订房编号:203
203订房成功
请输入功能编号:1
Room{101,单人间', 空闲 }Room{102,单人间', 空闲 }Room{103,单人间', 空闲 }Room{104,单人间', 空闲 }Room{105,单人间', 空闲 }Room{106,单人间', 空闲 }Room{107,单人间', 空闲 }Room{108,单人间', 空闲 }Room{109,单人间', 空闲 }Room{110,单人间', 空闲 }
Room{201,标准间', 空闲 }Room{202,标准间', 空闲 }Room{203,标准间', 占用 }Room{204,标准间', 空闲 }Room{205,标准间', 空闲 }Room{206,标准间', 空闲 }Room{207,标准间', 空闲 }Room{208,标准间', 空闲 }Room{209,标准间', 空闲 }Room{210,标准间', 空闲 }
Room{301,豪华间', 空闲 }Room{302,豪华间', 空闲 }Room{303,豪华间', 空闲 }Room{304,豪华间', 空闲 }Room{305,豪华间', 空闲 }Room{306,豪华间', 空闲 }Room{307,豪华间', 空闲 }Room{308,豪华间', 空闲 }Room{309,豪华间', 空闲 }Room{310,豪华间', 空闲 }
请输入功能编号:3
请输入退房编号:203
203退房成功
请输入功能编号:0
退出系统成功,欢迎下次使用,谢谢!