0
点赞
收藏
分享

微信扫一扫

简单的酒店管理系统

北冥有一鲲 2022-03-13 阅读 81
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 + ",已退房");
    }
}
举报

相关推荐

0 条评论