public class ArrayTese06 {
public static void main(String[] args) {
Hotel hotel = new Hotel();
hotel.method();
System.out.println("\t\t\t\t\t欢迎使用酒店管理系统,请认真阅读一下使用说明");
System.out.println("数字编号与相应的功能:【1】查看房间列表\t\t【2】订房\t\t【3】退房\t\t【0】退出系统");
Scanner s = new Scanner(System.in);
while (true) {
System.out.println("请输入功能的编号");
int i = s.nextInt();
if (i == 1)
hotel.print();
else if (i == 2) {
System.out.println("请输入房间号");
Scanner scanner = new Scanner(System.in);
int roomno = scanner.nextInt();
hotel.order(roomno);
} else if (i == 3) {
System.out.println("请输入房间号");
Scanner scanner1 = new Scanner(System.in);
int roomno1 = scanner1.nextInt();
hotel.exit(roomno1);
} else if (i == 0) {
System.out.println("欢迎再次使用");
return;
} else System.out.println("请输入正确的编号");
}
}
}
class Room {
private int no;
private String type;
private Boolean status;
public Room(int no, String type, Boolean status) {
this.no = no;
this.type = type;
this.status = status;
}
public Room() {
}
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 getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Room)) return false;
if (this == obj) return true;
Room room = (Room) obj;
return (this.no == room.getNo());//当前房间编号等于传过来的编号则返回false
}
@Override
public String toString() {
return no + "--" + type + "--" + (status ? "空闲" : "占用");
}
}
class Hotel {
//模拟大厦,二维数组
private Room[][] rooms = new Room[3][10];
//盖楼通过构造方法来盖楼
public Hotel() {
}
public void method() {
//创建30个对象放在数组中
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
rooms[i][j] = new Room((i + 1) * 100 + j + 1, "套房", true);
}
}
}
//输出各个房间的状态
public void print() {
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
System.out.print(" " + rooms[i][j]);
}
System.out.println();
}
}
public void order(int roomno) {
//主要是把status变成true
//通过房间编号演变成下标
Room room = rooms[roomno / 100 - 1][roomno % 100 - 1];
room.setStatus(false);//修改为占用
System.out.println("房间" + room + ",已订好");
}
public void exit(int roomno) {
Room room = rooms[roomno / 100 - 1][roomno % 100 - 1];
room.setStatus(true);//修改为空闲
System.out.println("房间" + room + ",已退房");
}
}