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
退出系统成功,欢迎下次使用,谢谢!


相关文章
|
4天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
21 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
4天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
18 5
|
4天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
17 2
|
1天前
|
监控 安全 NoSQL
采用java+springboot+vue.js+uniapp开发的一整套云MES系统源码 MES制造管理系统源码
MES系统是一套具备实时管理能力,建立一个全面的、集成的、稳定的制造物流质量控制体系;对生产线、工艺、人员、品质、效率等多方位的监控、分析、改进,满足精细化、透明化、自动化、实时化、数据化、一体化管理,实现企业柔性化制造管理。
13 3
|
2天前
|
数据采集 监控 安全
java数字工厂MES系统全套源码Java+idea+springboot专业为企业提供智能制造MES解决方案
"MES" 指的是制造执行系统(Manufacturing Execution System)。MES在制造业中扮演着至关重要的角色,它是位于企业资源计划(ERP)系统和车间控制系统之间的系统,用于实时收集、管理、分析和报告与制造过程相关的数据。
10 0
|
2天前
|
移动开发 监控 供应链
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
一开始接触MES系统,很多人会和博主一样,对MES细节的应用不了解,这样很正常,因为MES系统相对于其他系统来讲应用比较多!
14 1
JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(app、小程序、H5、台后管理端)
|
3天前
|
存储 运维 Java
java云his系统源码一站式诊所SaaS系统Java版云HIS系统 八大特点
HIS系统采用面向技术架构的分析与设计方法,应用多层次应用体系架构设计,运用基于构件技术的系统搭建模式与基于组件模式的系统内核结构。通过建立统一接口标准,实现数据交换和集成共享,通过统一身份认证和授权控制,实现业务集成、界面集成。
28 1
|
4天前
|
Java 关系型数据库 MySQL
java+B/S架构医院绩效考核管理系统源码 医院绩效管理系统4大特点
医院绩效考核管理系统,采用多维度综合绩效考核的形式,针对院内实际情况分别对工作量、KPI指标、科研、教学、管理等进行全面考核。医院可结合实际需求,对考核方案中各维度进行灵活配置,对各维度的权重、衡量标准、数据统计方式进行自定义维护。
13 0
|
4天前
|
监控 前端开发 Java
Java公立医院绩效考核管理系统 医院绩效考核系统的优势有哪些? 
医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风等管理发展目标的考核体系,形成医院的内部绩效考核与分配机制,通过信息化手段为绩效考评管理人员实施医院绩效考评工作提供了有效工具,扩展了信息管理范围,增加了信息分析的广度与深度。这不仅使绩效评价工作更加科学化、规范化和自动化,而且从根本上改变了绩效评估工作方式,实现了绩效评价数据网络化采集,评价结果透明化管理,奖金分配数据自动化生成,极大地提高了绩效评估的全面性、准确性、时效性、公正性。从而推进医院绩效管理的专业化、规范化和精细化管理,充分发挥
14 0
|
4天前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
18 0