本文共 4322 字,大约阅读时间需要 14 分钟。
本项目旨在开发一个模拟酒店管理系统,提供完整的预定、退房及房间状态查看功能。系统将使用二维数组模拟酒店房间布局,每个房间将作为一个Java对象处理。
Room[][] rooms模拟酒店房间布局Room对象包含以下属性: true表示空闲,false表示已占用)false(空闲)true(已占用)package Test;public class Room { private int ID; private String type; private boolean status; public Room(int ID, String type, boolean status) { this.ID = ID; this.type = type; this.status = status; } public int getID() { return ID; } public void setID(int ID) { this.ID = ID; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean getStatus() { return status; } public void setStatus(boolean status) { this.status = status; } @Override public String toString() { return "Room [ID=" + ID + ", Type='" + type + "', Status=" + (status ? "空闲" : "已占用") + "]"; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Room room = (Room) o; return ID == room.ID; } @Override public int hashCode() { return Objects.hash(ID, type, status); }}public class Hotel { private Room[][] rooms; private int floorNum; private int roomNum; public Hotel(Room[][] rooms) { this.rooms = rooms; } public Hotel(int floorNum, int roomNum) { this(new Room[floorNum][roomNum]); initializeRooms(floorNum, roomNum); } private void initializeRooms(int floorNum, int roomNum) { for (int i = 0; i < floorNum; i++) { for (int j = 0; j < roomNum; j++) { switch (i) { case 0: int id1 = Integer.parseInt("10" + (j + 1)); rooms[i][j] = new Room(id1, "单人间", true); break; case 1: int id2 = Integer.parseInt("20" + (j + 1)); rooms[i][j] = new Room(id2, "标准间", true); break; case 2: int id3 = Integer.parseInt("30" + (j + 1)); rooms[i][j] = new Room(id3, "总统套房", true); break; } } } } public void showRoomMessage() { for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[i].length; j++) { Room room = rooms[i][j]; System.out.println(room); System.out.println("-------------------"); } } } public void order(int roomID) { int row = roomID / 100; int column = roomID % 100; if (row < 0 || row >= rooms.length || column < 0 || column >= rooms[row].length) { System.out.println("输入的房间编号无效,请重新输入:"); return; } Room room = rooms[row][column]; if (room.getStatus()) { room.setStatus(false); System.out.println("预定成功!" + roomID + "已被标记为空闲"); } else { System.out.println("该房间已被占用,无法预定,请选择其他房间!"); } } public void checkOut(int roomID) { int row = roomID / 100; int column = roomID % 100; if (row < 0 || row >= rooms.length || column < 0 || column >= rooms[row].length) { System.out.println("输入的房间编号无效,请重新输入:"); return; } Room room = rooms[row][column]; if (!room.getStatus()) { System.out.println("该房间已是空闲,无需退房!"); return; } room.setStatus(true); System.out.println("退房成功!" + roomID + "已被标记为已占用"); } public int getFloorNum() { return floorNum; } public void setFloorNum(int floorNum) { this.floorNum = floorNum; } public int getRoomNum() { return roomNum; } public void setRoomNum(int roomNum) { this.roomNum = roomNum; }} 转载地址:http://pljv.baihongyu.com/