大家好,又见面了,我是你们的朋友全栈君。
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 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
退出系统成功,欢迎下次使用,谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189664.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有