Java实现小型酒店管理系统。

简介: 编写Java程序实现小型酒店管理系统。

编写Java程序实现小型酒店管理系统。


为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。

1、该系统的用户是:酒店前台。

2、酒店使用一个二维数组来模拟。“Room[][] rooms;”

3、酒店中的每一个房间应该是一个java对象:Room

4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.

5、系统应该对外提供的功能:

可以预定房间:用户输入房间编号,订房。

可以退房:用户输入房间编号,退房。

可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。


Room类:


import java.util.Objects;
//酒店房间类。
public class Room {
    /*
         房间编号:
         一楼:101 102 103 104 105 106 ...
         二楼:201 202 203 204 205 206 ...
         三楼:301 302 303 304 305 306 ...
         .......
     */
    private int no;
    /*
        房间类型:标准间,单人间,豪华间
     */
    private String type;
    ;
    /*
        true表示房间空闲,可以预定。
        false表示房间占用,不能预定。
     */
    private boolean status;
    public Room() {
    }
    public Room(int no, String type, boolean status) {
        this.no = no;
        this.type = type;
        this.status = status;
    }
    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 isStatus() {
        return status;
    }
    public void setStatus(boolean status) {
        this.status = status;
    }
    /*
          equals方法:比较两个房间编号是不是同一个房间类型。
     */
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Room room = (Room) o;
        return no == room.no && Objects.equals(type, room.type);
    }
    public String toString() {
        return "Room{" + no + "," + type + '\'' + ", " + (status ? "空闲" : "占用") + " }";
    }
}

Hotel类:


//酒店对象,二维数组模拟酒店大厦
public class Hotel {
    private Room[][] rooms;
    /*
              房间编号:
            一楼:101 102 103 104 105 106 ...
            二楼:201 202 203 204 205 206 ...
            三楼:301 302 303 304 305 306 ...
            .......
     */
    public Hotel() {
        rooms = new Room[3][10];
        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 if (i == 2) {
                    rooms[i][j] = new Room((i + 1) * 100 + j + 1, "豪华间", true);
                }
            }
        }
    }
    /*
        print:打印房间状态列表的方法。
     */
    public void print() {
        for (int i = 0; i < rooms.length; i++) {
            for (int j = 0; j < rooms[i].length; j++) {
                Room room = rooms[i][j];
                System.out.print(room);
            }
            System.out.println();
        }
    }
/*
    order:订房方法,订完房后,放被占用。
    将room对象的status属性修改为false。
 */
    public void order(int roomNo) {
        Room room = rooms[roomNo / 100 - 1][roomNo % 100 - 1];
        room.setStatus(false);
        System.out.println(roomNo+"订房成功");
    }
/*
    exit:退房方法,退完房,房间空闲
    将room的statues属性修改为true
 */
    public void exit(int roomNo){
        Room room = rooms[roomNo / 100 - 1][roomNo % 100 - 1];
        room.setStatus(true);
        System.out.println(roomNo+"退房成功");
    }
}

酒店管理系统测试类:


public class HotelMgsSystem {
    public static void main(String[] args) {
        Hotel hotel=new Hotel();
        System.out.println("欢迎使用酒店管理系统,请在使用前阅读以下说明");
        System.out.println("功能如下:[1]查看房间状态,[2]订房,[3]退房,[0]退出系统");
        Scanner s=new Scanner(System.in);
        while(true) {
            System.out.print("请输入功能编号:");
            int i = s.nextInt();
            switch (i) {
                case 1:
                    hotel.print();
                    break;
                case 2:
                    System.out.print("请输入订房编号:");
                    int rooms = s.nextInt();
                    hotel.order(rooms);
                    break;
                case 3:
                    System.out.print("请输入退房编号:");
                    int roomNo = s.nextInt();
                    hotel.exit(roomNo);
                    break;
                case 0:
                    System.out.println("退出系统成功,欢迎下次使用,谢谢!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("对不起您输入的编号错误,请输入正确的编号!");
                    break;
            }
        }
    }
}

运行结果:


欢迎使用酒店管理系统,请在使用前阅读以下说明
功能如下:[1]查看房间状态,[2]订房,[3]退房,[0]退出系统
请输入功能编号:1
Room{101,单人间', 空闲 }Room{102,单人间', 空闲 }Room{103,单人间', 空闲 }Room{104,单人间', 空闲 }Room{105,单人间', 空闲 }Room{106,单人间', 空闲 }Room{107,单人间', 空闲 }Room{108,单人间', 空闲 }Room{109,单人间', 空闲 }Room{110,单人间', 空闲 }
Room{201,标准间', 空闲 }Room{202,标准间', 空闲 }Room{203,标准间', 空闲 }Room{204,标准间', 空闲 }Room{205,标准间', 空闲 }Room{206,标准间', 空闲 }Room{207,标准间', 空闲 }Room{208,标准间', 空闲 }Room{209,标准间', 空闲 }Room{210,标准间', 空闲 }
Room{301,豪华间', 空闲 }Room{302,豪华间', 空闲 }Room{303,豪华间', 空闲 }Room{304,豪华间', 空闲 }Room{305,豪华间', 空闲 }Room{306,豪华间', 空闲 }Room{307,豪华间', 空闲 }Room{308,豪华间', 空闲 }Room{309,豪华间', 空闲 }Room{310,豪华间', 空闲 }
请输入功能编号:2
请输入订房编号:203
203订房成功
请输入功能编号:1
Room{101,单人间', 空闲 }Room{102,单人间', 空闲 }Room{103,单人间', 空闲 }Room{104,单人间', 空闲 }Room{105,单人间', 空闲 }Room{106,单人间', 空闲 }Room{107,单人间', 空闲 }Room{108,单人间', 空闲 }Room{109,单人间', 空闲 }Room{110,单人间', 空闲 }
Room{201,标准间', 空闲 }Room{202,标准间', 空闲 }Room{203,标准间', 占用 }Room{204,标准间', 空闲 }Room{205,标准间', 空闲 }Room{206,标准间', 空闲 }Room{207,标准间', 空闲 }Room{208,标准间', 空闲 }Room{209,标准间', 空闲 }Room{210,标准间', 空闲 }
Room{301,豪华间', 空闲 }Room{302,豪华间', 空闲 }Room{303,豪华间', 空闲 }Room{304,豪华间', 空闲 }Room{305,豪华间', 空闲 }Room{306,豪华间', 空闲 }Room{307,豪华间', 空闲 }Room{308,豪华间', 空闲 }Room{309,豪华间', 空闲 }Room{310,豪华间', 空闲 }
请输入功能编号:3
请输入退房编号:203
203退房成功
请输入功能编号:0
退出系统成功,欢迎下次使用,谢谢!


相关文章
|
6天前
|
运维 Java
Java版HIS系统 云HIS系统 云HIS源码 结构简洁、代码规范易阅读
云HIS系统分为两个大的系统,一个是基层卫生健康云综合管理系统,另一个是基层卫生健康云业务系统。基层卫生健康云综合管理系统由运营商、开发商和监管机构使用,用来进行运营管理、运维管理和综合监管。基层卫生健康云业务系统由基层医院使用,用来支撑医院各类业务运转。
30 5
|
1天前
|
搜索推荐 前端开发 Java
java医院绩效考核管理系统项目源码
系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
3 0
|
6天前
|
JavaScript Java 测试技术
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的电影评论系统的设计与实现(源码+lw+部署文档+讲解等)
21 0
|
6天前
|
JavaScript Java 测试技术
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
11 0
|
6天前
|
JavaScript Java 测试技术
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
6天前
|
JavaScript Java 测试技术
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
6天前
|
JavaScript Java 测试技术
基于Java的家纺用品销售管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的家纺用品销售管理系统的设计与实现(源码+lw+部署文档+讲解等)
17 0
|
6天前
|
JavaScript Java 测试技术
基于Java的教务管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的教务管理系统的设计与实现(源码+lw+部署文档+讲解等)
20 0
|
6天前
|
JavaScript Java 测试技术
基于Java的西安旅游管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的西安旅游管理系统的设计与实现(源码+lw+部署文档+讲解等)
18 0
|
6天前
|
JavaScript Java 测试技术
基于Java的学生奖惩管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的学生奖惩管理系统的设计与实现(源码+lw+部署文档+讲解等)
6 0