编写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 退出系统成功,欢迎下次使用,谢谢!