/*
* 模拟酒店管理系统
* 酒店类
* 酒店规模为:5层 每层3个房间 二维数组
* 其中1、2层为标准间 3、4层为双人间 5层为豪华间
* 需要提供对应得打印房间列表的方法
* 打印格式:【101 标准间 空闲】【102 标准间 占用】...
* 预定房间的方法
* 退定房间的方法
* */
public class Hotel {
// 酒店内所有房间
private final Room[][] rooms;
// 在构造方法中初始化房间对象,初始化后可在当前类中使用
public Hotel() {
rooms = new Room[5][3]; // 成员引用型变量初始化,可是成员方法中直接使用
// 其中1、2层为标准间 3、4层为双人间 5层为豪华间
for (int i = 0; i < rooms.length; i++) {
String number;
String type;
if (i<2){
for (int j = 0; j < rooms[i].length; j++) {
number = (i+1)*100 + (j+1) + "";
rooms[i][j] = new Room(number, "标准间", false);
}
}else if (i<4){
for (int j = 0; j < rooms[i].length; j++) {
number = (i+1)*100 + (j+1) + "";
rooms[i][j] = new Room(number, "双人间", false);
}
}else {
for (int j = 0; j < rooms[i].length; j++) {
number = (i+1)*100 + (j+1) + "";
rooms[i][j] = new Room(number, "豪华间", false);
}
}
}
}
/**
* 判断用户输入是否合法
* @param i 酒店房间层数
* @param j 酒店每层房间数
* @return Boolean
*/
public boolean IsLegal(int i,int j){
if (i<0 || i>rooms.length || j<0 ||j> rooms.length){
System.out.println("对不起,您选择的房间不存在");
return false;
}else return true;
}
/**
* 酒店房间下标转换
* @param num 用户输入的字符串类型房间号
* @return 酒店房间层数 和 酒店每层房间数 对应的标号
*/
public int[] StringToInt(String num){
int number = Integer.parseInt(num);
int[] arr = new int[2];
int i = number/100 - 1;
int j = number - (i+1)*100 - 1;
arr[0]