package com.hotel;
public class Room {
private String Room_number; //房间编号
private String Room_style; //房间类型
private int using; //使用状态,无人订房为0,已订为1
//构造函数
public Room(String Room_number,String Room_style){
this(Room_number,Room_style,0);
}
public Room(String Room_number,String Room_style,int using){
this.Room_number = Room_number;
this.Room_style = Room_style;
this.using = using;
}
//设置房间使用状态
public void setUsing(int using){
this.using = using;
}
//获取房间使用状态
public int getUsing(){
return this.using;
}
//获取房间编号
public String getRoom_number(){
return Room_number;
}
//获取房间类型
public String getRoom_style(){
return Room_style;
}
}
package com.hotel;
public class HotelAdmin {
public static void main(String[] args){
Room[][] rooms = new Room[10][20];
boolean flag = true;
roomInit(rooms);
while(flag){
System.out.println("0.退出系统");
System.out.println("1.预定房间");
System.out.println("2.退房");
System.out.println("3.查看房间状态");
Frs:System.out.println("请输入您要使用的功能:");
java.util.Scanner input = new java.util.Scanner(System.in);
int n = input.nextInt();
System.out.println();
switch(n){
case(1):{
System.out.print("请输入你要预定的房间编号:");
String num = input.next();
while(Search(rooms,"F01-010")==null){
System.out.print("没有找到该房间,请重新输入房间编号:");
num = input.next();
}
Room findroom = Search(rooms,num);
if(findroom.getUsing() == 0){
findroom.setUsing(1);
System.out.println("订房成功!\n");
}
else{
System.out.println("该房间已被使用,请换其他房间试试\n");
}
break;
}
case(2):{
System.out.print("请输入你要退的房间编号:");
String num = input.next();
while(Search(rooms,num)==null){
System.out.print("没有找到该房间,请重新输入房间编号:");
num = input.next();
}
Room findroom = Search(rooms,num);
if(findroom.getUsing() == 1){
findroom.setUsing(0);
System.out.println("退房成功!\n");
}
else{
System.out.println("该房没有使用记录,无需退房\n");
}
break;
}
case(3):{
roomShow(rooms);
break;
}
case(0):
default:
System.out.println("退出系统\n");
flag = false;
}
}
}
public static void roomInit(Room[][] rooms) {
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
rooms[i][j] = new Room(((i<9)?"F0":"F") + (i + 1) + ((j<9)?"-00":"-0") + (j + 1),
(j < 9) ? "标准单间" : "双人间"); //三目运算符
}
}
}
public static void roomShow(Room[][] rooms){
for(int i=rooms.length-1;i>=0;i--) {
for(int j=rooms[i].length-1;j>=0;j--) {
System.out.print(rooms[i][j].getRoom_number()+":\t"+rooms[i][j].getUsing()+"\t");
if((j)%5==0){
System.out.println();
}
}
System.out.println();
}
System.out.println();
}
public static Room Search(Room[][] rooms,String num){
if(num.length() != 7||num.charAt(0)!='F'||num.charAt(3)!='-'||num.charAt(4)!='0'){
return null;
}
for(int i=1;i<num.length();i++) {
if (i == 3) {
continue;
}
if (num.charAt(i) < 48 || num.charAt(i) > 57) {
return null;
}
}
String i_1 = String.valueOf(num.charAt(1));
String i_2 = String.valueOf(num.charAt(2));
int i = Integer.parseInt(i_1)*10 + Integer.parseInt(i_2)-1;
String j_1 = String.valueOf(num.charAt(5));
String j_2 = String.valueOf(num.charAt(6));
int j = Integer.parseInt(j_1)*10 + Integer.parseInt(j_2)-1;
return rooms[i][j];
}
}