java简单酒店管理系统_javaweb酒店管理系统

java简单酒店管理系统_javaweb酒店管理系统编写Java程序实现小型酒店管理系统。为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。1、该系统的用户是:酒店前台。2、酒店使用一个二维数组来模拟。“Room[][]rooms;”3、酒店中的每一个房间应该是一个java对象:Room4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.5、系统应该对外提供的功能:可以预定房间:用户输入房间编号,订房。可以退房:用户输入房间编号,退房。可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

编写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
退出系统成功,欢迎下次使用,谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189664.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript – 正则表达式

    JavaScript – 正则表达式

    2022年3月13日
    98
  • 数据库中间件简介_数据库中间件还用吗

    数据库中间件简介_数据库中间件还用吗数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表,主流的设计方案主要有两种:1、服务端代理:需要独立部署一个代理服务,该代理服务后面管理多个数据库实例,在应用中通过一个数据源与该代理服务器建立连接,由该代理去操作底层数据库,并返回相应结果。优点是支持多语言,对业务透明,缺点是实现复杂,实现难度大,同时代理需要确保自身高可用2、客户端代理:在连接池或数据库驱动上进行一层封装,内部与不同的数据库建立连接,并对SQL…

    2022年10月24日
    0
  • 实现iota函数[亲测有效]

    voidReverse(char*s){chartemp;char*p=s;char*q=s;while(*p!='\0'){p++;}q

    2021年12月18日
    33
  • React Native技术篇—自定义Toast弹窗「建议收藏」

    React Native技术篇—自定义Toast弹窗「建议收藏」注意:未经允许不可私自转载,违者必究ReactNative官方文档:https://reactnative.cn/docs/getting-started/项目GitHub地址:https://github.com/zhouwei1994/nativeCase.git在写自定义Toast弹窗之前我们要先创建一个ReactNative第二视图层。创建教程:https://b…

    2022年9月25日
    0
  • mysql decimal 空,MySQL DECIMAL数据类型

    mysql decimal 空,MySQL DECIMAL数据类型同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:测试表,seller_cost字段定义为decimal(14,2)CREATETABLE`test_decimal`(`id`int(11)NOTNULL,`sell…

    2022年7月17日
    19
  • ubuntu环境变量配置文件_环境变量与用户变量

    ubuntu环境变量配置文件_环境变量与用户变量UbuntuLinux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。文章转载自http://leonhongchina.blog.163.com/blog/static/180294117201132611320112/修改用户环境变量用户环境变量通常被存储在下面的文件中:~/.profile

    2022年9月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号