/*
    酒店前台客房管理系统;我想在入住和退房的函数 做循环,不想每次输入错误就重新 输入 入住;
*/
import java.util.Scanner;
class
  HotelSystem
{
    public static void main(String[] args) {
        //代表楼层所有的房间
        String[][] rooms =new String[12][10];
        System.out.println("欢迎来到xxx大酒店");
        System.out.println("请输入要操作的命令: 查询 ,入住,退房"
        +",quit 退出系统");
        Scanner s= new Scanner(System.in);
        //比较字符串是否相同,-------------"in".equals(command)
        while (true)
        {
            String command = s.next();
            if("查询".equals(command))
            {
                init(rooms);
                search(rooms);
            }else if ("入住".equals(command))
            {
                in(rooms);
            }else if("退房".equals(command)){
                out(rooms);
            else if("退出".equals(commadn)){
                System.out.println("系统退出成功");
                break;
            }else{
                System.out.println("输入有误,请重新输入!");
            }
            
        }
        //字符串数组如果没有初始化元素,每个元素都是null
    }
    //办理入住 ,----直接输入房间号进行入住,
    //将来可以先列出可以入住的房间 在让用户输入房间号
    public static void in (String[][] rooms){
        System.out.print("请输入房间号:");
        Scanner s = new Scanner(System.in);
            int roomNo= s.nextInt();
            int floor =roomNo /100;//得到楼层号
            int
  No = roomNo %100;//得到房间号
        if(floor < 1 || floor >12 || No <1 || No>10){//入住的函数就可以结束了
            System.out.println("输入的房间号错误:请重新输入:入住,命令继续操作!");
            return;
        }
        if (!"EMPTY".equals(rooms[floor-1][No-1])){
            System.out.println("该房间已经有人入住;请重新输入:入住命令继续操作");
            return;
        }
        System.out.print("请输入您的姓名:");
        String name =s.next();
        rooms[floor-1][No-1]=name;
        System.out.println("入住成功!");
        //
    }
    public static void out(String[][]rooms){
        System.out.print("请输入房间号办理退房:");
        Scanner s =new Scanner(System.in);
            int roomNo= s.nextInt();
            int floor =roomNo /100;//得到楼层号
            int
  No = roomNo %100;//得到房间号
        if(floor < 1 || floor >12 || No <1 || No>10){//入住的函数就可以结束了
            System.out.println("输入的房间号错误:请重新输入:(退房)命令继续操作!");
            return;
        }
        if ("EMPTY".equals(rooms[floor-1][No-1])){
            System.out.println(roomNo+"该房间暂无人入住;请重新输入:(退房)命令继续操作");
            return;
        }
        rooms[floor-1][No-1]="EMPTY";
        System.out.println("退房成功");
    }
        //房间查询--------->将来可以输入具体发房间号和状态来查询
    public static void search(String[][] rooms)
    {
        //打印房间号,
        for (int i=1;i<rooms.length ;i++ )
        {
            for (int j=0;j<rooms[i].length ;j++ )
            {
                if(i<=9)
                {
                    System.out.print("0");
                }
                int roomsN =(i)*100+j+1;
                System.out.print(roomsN+"\t");
            }
            System.out.println();
            //打印房间状态,
            for (int k =0;k<rooms[i].length ;k++ )
            {
                System.out.print(rooms[i][k]+"\t");
            }
            System.out.println();
        }
    }
    //初始化所有房间。
    public static void init(String[][] rooms)
    {
        for (int i=0;i<rooms.length ;i++ )
        {
            for (int j =0;j<rooms[i].length ;j++ )
            {
                rooms[i][j]="EMPTY";
            }
        }
        System.out.println("房间初始化完毕!");
    }
}