返回顶部
首页 > 资讯 > 精选 >怎么用Java代码实现酒店管理系统
  • 668
分享到

怎么用Java代码实现酒店管理系统

2023-06-30 16:06:01 668人浏览 薄情痞子
摘要

本文小编为大家详细介绍“怎么用Java代码实现酒店管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Java代码实现酒店管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一. 需求分析我们如果要实

本文小编为大家详细介绍“怎么用Java代码实现酒店管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Java代码实现酒店管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一. 需求分析

我们如果要实现酒店管理系统,就需要先对酒店管理系统的业务要求进行分析:

酒店管理系统需要实现哪些功能?

(1)输入某个命令查询酒店中的所有房间;
(2)输入某个房间的编号订房;
(3)输入某个房间的编号退房;
(4)输入某个命令可以退出酒店管理系统;

酒店管理系统使用什么数据结构来表示房间?

(1)酒店管理系统使用数组的形式来存储房间,这里我们用二维数组来表示;

酒店的房间我们都有什么属性?

(1)房间编号;
(2)房间类型;
(3)房间是否空闲;

我们用什么来控制房间类有上面这些属性?

(1)我们可以使用自定义注解来实现;

二. 画图分析

怎么用Java代码实现酒店管理系统

三. 代码结构

怎么用Java代码实现酒店管理系统

四. 代码实现

@Retention(RUNTIME)        // 用该注解表示此自定义注解可以被外部映射到@Target(TYPE)            // 用该注解表示此自定义注解只可以作用在类上public @interface ProperyAnnotation {}
public class ProperyAnnotationToJudge {    // 判断ProperyAnnotation注解的某个类中是否有某些属性的方法    public static void Judge () {        try {            // 使用反射机制来反射Room类            // 我这里的房间Room类放到了test包下,您可以自定义它的路径。            Class<?> c = Class.forName("test.Room");            // 判断Room类上是否存在@ProperyAnnotation注解            if (c.isAnnotationPresent(ProperyAnnotation.class)) {                // 如果Room类上存在@ProperyAnnotation注解就获取这个Room类中的全部属性                Field[] fields = c.getFields();                boolean isExist = false;                for (Field field : fields) {                    // 如果Room类中存在房间编号、房间类型、房间是否空闲这些属性,就让isExist=true,否则抛出异常                    if (item.getName().equals("rId") && item.getType().getSimpleName().equals("Integer")) {                        for (Field item1 : fields) {                            if (item1.getName().equals("rType") && item1.getType().getSimpleName().equals("String")) {                                for (Field item2 : fields) {                                    if (item2.getName().equals("rFree") && item2.getType().getSimpleName().equals("Boolean")) {                                        isExist = true;                                        break;                                    }                                }                            }                        }                    }                }                if (!isExist) {                    throw new ProperyException("Room类中不存在房间编号、房间类型、房间是否空闲这些属性");                }            }        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }}
public class ProperyException extends RuntimeException {    private static final long serialVersionUID = -8343113740914228496L;    public ProperyException () {}    public ProperyException (String msg) {super(msg);}}
@ProperyAnnotationpublic class Room {    private Integer rId;    // 房间编号    private String rType;    // 房间类型    private Boolean rFree;    // 房间是否空闲    public Room () {}    public Room (Integer rId, String rType, Boolean rFree) {        this.rId = rId;        this.rType = rType;        this.rFree = rFree;    }    protected Integer getrId() {        return rId;    }    protected void setrId(Integer rId) {        this.rId = rId;    }    protected String getrType() {        return rType;    }    protected void setrType(String rType) {        this.rType = rType;    }    protected Boolean getrFree() {        return rFree;    }    protected void setrFree(Boolean rFree) {        this.rFree = rFree;    }    @Override    public String toString() {        return "Room [" + rId + ", " + rType + ", "+ (rFree ? "有人入住" : "无人入住")+"]";    }}
public class Hotel {    // 这里需要定义一个二维数组来表示房间,因为我们设想的酒店有很多层,且每层有很多你发件。    private static Room[][] rooms;        public Hotel () {        // 这里定义酒店为5层,且每层有9个房间        rooms = new Room[5][9];        // 这里我们来设置酒店的房间,由于酒店的房间很多,所以我们使用for循环来分别设置每个楼层。        for (int m = 0 ; m < rooms.length ; m ++) {            for (int n = 0 ; n < rooms[m].length ; n ++) {                // 第一层                if (m == 0) {                                        rooms[m][n] = new Room((m + 1) * 100 + n + 1, "单人豪华房", false);                }                                // 第二层                if (m == 1) {                    rooms[m][n] = new Room((m + 1) * 100 + n + 1, "双人豪华房", false);                }                                // 第三层                if (m == 2) {                    rooms[m][n] = new Room((m + 1) * 100 + n + 1, "三人豪华房", false);                }                                // 第四层                if (m == 3) {                    rooms[m][n] = new Room((m + 1) * 100 + n + 1, "三人豪华房", false);                }                                // 第五层                if (m == 4) {                    rooms[m][n] = new Room((m + 1) * 100 + n + 1, "三人豪华房", false);                }            }        }    }        // 查看所有房间状态    public void queryAllRooms () {        for (int m = 0 ; m < rooms.length ; m ++) {            for (int n = 0 ; n < rooms[m].length ; n ++) {                System.out.println(rooms[m][n].toString());            }        }    }        // 使用房间编号订房    public void makeRoom (int rId) {        Room room = rooms[rId / 100 - 1][rId % 100 - 1];        // 如果该编号的房间已经有人订了        if (room.getrFree() == true) {            System.out.println("抱歉,请您订购其他房间,此房间已经有人居住!");        } else {            room.setrFree(true);            System.out.println("订房完成");        }    }        // 使用房间编号退房    public void existRoom (int rId) {        Room room = rooms[rId / 100 - 1][rId % 100 - 1];        // 如果该编号的房间本来就没有人居住        if (room.getrFree() == false) {            System.out.println("抱歉,请您退订其他房间,该房间没有人居住不需要退订!");        } else {            room.setrFree(false);            System.out.println("退房完成");        }    }}
public class Test {    public static void main (String[] args) {        ProperyAnnotationToJudge.Judge();        Hotel hotel = new Hotel();        System.out.println("欢迎使用酒店管理系统,请认真阅读以下使用说明:");        System.out.println("请输入对应的功能编号:[1]查看房间列表; [2]订房; [3]退房; [0]退出系统");        Scanner scanner = new Scanner(System.in);        while (true) {            System.out.print("请输入功能编号:");            Integer i = scanner.nextInt();            if (i == 1) {                hotel.queryAllRooms();                System.out.println("酒店所有的房间已经加载完毕!");            }            else if (i == 2) {                System.out.print("请输入房间编号,房间编号为101~110、201~210、301~310、401~410、501~510:");                Integer rId = scanner.nextInt();                if (rId >= 101 && rId <= 110 || rId >= 201 && rId <= 210 || rId >= 301 && rId <= 310 || rId >= 401 && rId <= 410 || rId >= 501 && rId <= 510) {                    hotel.makeRoom(rId);                } else {                    System.out.println("请输入正确的房间编号!");                }            }            else if (i == 3) {                System.out.print("请输入房间编号,房间编号为101~110、201~210、301~310、401~410、501~510:");                Integer rId = scanner.nextInt();                if (rId >= 101 && rId <= 110 || rId >= 201 && rId <= 210 || rId >= 301 && rId <= 310 || rId >= 401 && rId <= 410 || rId >= 501 && rId <= 510) {                    hotel.existRoom(rId);                } else {                    System.out.println("请输入正确的房间编号!");                }                            }            else if (i == 0) {                System.out.println("成功退出酒店管理系统!");                scanner.close();                return;            }            else {                System.out.println("请仔细阅读使用说明,输入正确的功能编号");            }        }    }}

输出结果:

怎么用Java代码实现酒店管理系统

读到这里,这篇“怎么用Java代码实现酒店管理系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么用Java代码实现酒店管理系统

本文链接: https://lsjlt.com/news/330340.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用Java代码实现酒店管理系统
    本文小编为大家详细介绍“怎么用Java代码实现酒店管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Java代码实现酒店管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一. 需求分析我们如果要实...
    99+
    2023-06-30
  • Java代码实现酒店管理系统
    我们通过学习Java基础知识,让自己正式踏入学习Java语言的行列,这篇博客是用来让我们真正的了解并应用面向对象的思想来实现的。 使用简单的Java代码实现酒店管理系统,供大家参考,...
    99+
    2024-04-02
  • Java代码实现简单酒店管理系统
    本文实例为大家分享了Java实现简单酒店管理系统的具体代码,供大家参考,具体内容如下 为某个酒店编写程序:酒店管理系统,模拟订房、退房和打印所有房间状态等功能 1.该系统的用户是:酒...
    99+
    2024-04-02
  • 怎么使用Java代码实现简单酒店管理系统
    这篇文章主要介绍了怎么使用Java代码实现简单酒店管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Java代码实现简单酒店管理系统文章都会有所收获,下面我们一起来看看吧。为某个酒店编写程序:酒店管...
    99+
    2023-07-02
  • 怎么用C++实现酒店管理系统
    这篇文章主要介绍“怎么用C++实现酒店管理系统”,在日常操作中,相信很多人在怎么用C++实现酒店管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C++实现酒店管理系统”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • Java实现简单酒店管理系统
    用Java编写一个简单的酒店管理系统,供大家参考,具体内容如下 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。2、酒店使用...
    99+
    2024-04-02
  • C++实现酒店管理系统
    本文实例为大家分享了C++实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、先看效果 1、run 2、查询   3、入住   再查询,可以看到201有人...
    99+
    2024-04-02
  • PHP酒店管理系统源码(多酒店)+数据库,酒店管理系统APP+H5+小程序预订
    酒店管理系统(多酒店) APP+H5+小程序预订 完整代码下载地址:PHP酒店管理系统源码(多酒店)+数据库 安装手册(必看) 安装手册: (1)sql在根目录(hotel.sql), 需...
    99+
    2023-08-31
    php 数据库 小程序
  • 基于C++实现酒店管理系统
    现今大多数宾馆所提供的服务样式都各式各样,规模大小也是各有不同,但是归总下来,不可或缺的两类模块还是顾客和工作人员。由于对宾馆行业内部没有很深刻的理解,此次系统设计包括数据库和功能模...
    99+
    2024-04-02
  • C语言实现酒店管理系统
    本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 系统框架: 代码: #include <stdio.h> #include <st...
    99+
    2024-04-02
  • C#窗体实现酒店管理系统
    本文实例为大家分享了C#窗体实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、概述 酒店管理系统是我们常说的MIS (Management Information Syste...
    99+
    2022-11-13
    C#酒店管理系统 C#酒店管理 C#酒店系统
  • C++实现简单酒店管理系统
    本文实例为大家分享了C++实现简单酒店管理系统的具体代码,供大家参考,具体内容如下 酒店管理系统设计报告 一、 需求分析 题目要求如下: 某酒店有客房若干间,其中客房分为不同等级,如...
    99+
    2024-04-02
  • Java实战之酒店人事管理系统的实现
    目录一、项目运行二、效果图三、核心代码用户管理注册登录控制层房间管理控制层订单管理控制层角色管理控制层一、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql ...
    99+
    2024-04-02
  • 如何使用C++实现酒店管理系统
    这篇文章主要介绍了如何使用C++实现酒店管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。现今大多数宾馆所提供的服务样式都各式各样,规模大小也是各有不同,但是归总下来,不...
    99+
    2023-06-29
  • C语言实现简单酒店管理系统
    本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 一、问题描述 系统应具有以下主要功能:登记入住:从键盘输入住信息:房间层数,房间号码等;查询入住情况,...
    99+
    2024-04-02
  • C语言实现酒店预订管理系统
    本文实例为大家分享了C语言实现酒店预订管理系统的具体代码,供大家参考,具体内容如下 课设要求: 客房信息管理。 客人预订及入住信息管理。 各种查询和统计功能。 本系统要有通用性、界面...
    99+
    2024-04-02
  • C语言如何实现酒店管理系统
    这篇文章主要讲解了“C语言如何实现酒店管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现酒店管理系统”吧!系统框架:代码:#include <stdio.h...
    99+
    2023-06-30
  • 使用Java怎么编写一个酒店前台管理系统
    本文章向大家介绍使用Java怎么编写一个酒店前台管理系统的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4....
    99+
    2023-06-06
  • Java 实战练手项目之酒店管理系统的实现流程
    一、项目简述 功能包括(管理员和用户角色): 酒店预订,酒店管理,员工管理,入住原理,订单管理, 楼层管理,退房管理,营业额报表等等。 二、项目运行 环境配置: Jdk1.8 + T...
    99+
    2024-04-02
  • 基于JavaSwing设计和实现的酒店管理系统
    目录前言:引言主要技术和工具:功能截图:登录管理:酒店管理信息:开房:退房:房间信息:顾客信息:关键代码:主入口:开房入住:数据库设计:用户表:入住信息表:房间信息表 :总结:前言:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作