Java实现简单酒店管理系统

 更新时间:2022年05月27日 08:14:14   作者:木子七七_qiqi  
这篇文章主要为大家详细介绍了Java实现简单酒店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

用Java编写一个简单的酒店管理系统,供大家参考,具体内容如下

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

1、该系统的用户是:酒店前台。
2、酒店使用一个二维数组来模拟。“Room[][] rooms;”
3、酒店中的每一个房间应该是一个java对象:Room
4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.
5、系统应该对外提供的功能:

可以预定房间:用户输入房间编号,订房。
可以退房:用户输入房间编号,退房。
可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。

import org.w3c.dom.ls.LSOutput;

import java.util.Objects;
//测试
public class HotelTest {
    public static void main(String[] args) {
        Hotel h=new Hotel();
        java.util.Scanner s=new java.util.Scanner(System.in);
        System.out.println("欢迎使用酒店管理系统!请认真阅读以下功能。");
        System.out.println("功能编号:1表示打印房间列表,2表示预定房间,3表示退订房间,4表示退出系统");
        while(true){
            System.out.println("请输入功能编号:");
            int i=s.nextInt();
            if(i==1){h.pri();}
            else if(i==2){
                System.out.println("请输入要预定的房间编号:");
                h.order(s.nextInt());
            }else if(i==3){
                System.out.println("请输入要退订的房间编号:");
                h.exit(s.nextInt());
            }else if(i==4){
                System.out.println("欢迎下次使用酒店管理系统,再见!");
                return;
            }else{
                System.out.println("功能编号输入错误,请重新输入!");
            }
        }

    }
}
//酒店管理系统
public class Hotel{
    Room[][] rooms;
    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);}
                if(i==1){rooms[i][j]=new Room((i+1)*100+j+1,"双人间",true);}
                if(i==2){rooms[i][j]=new Room((i+1)*100+j+1,"三人间",true);}*/
                rooms[i][j]=new Room();
                rooms[i][j].setNo((i+1)*100+j+1);
                rooms[i][j].setType(i==0?"单人间":(i==1?"双人间":"三人间"));
                rooms[i][j].setStatus(true);
            }
        }
    }
    public void pri(){
        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 no){
        if(rooms[no/100-1][no%100-1].isStatus()==true) {
            rooms[no / 100 - 1][no % 100 - 1].setStatus(false);
            System.out.println(no + "号房间预订成功!");
        }else{
            System.out.println(no+"号房间已被预订,房间预订失败!");
        }
    }
    public void exit(int no){
        if(rooms[no/100-1][no%100-1].isStatus()==false) {
            rooms[no / 100 - 1][no % 100 - 1].setStatus(true);
            System.out.println(no + "号房间退订成功!");
        }else{
            System.out.println(no+"号房间已被退订,房间退订失败!");
        }
    }
}
//房间
public class Room{
    private int no;
    private String type;
    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;
    }

    @Override
    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;
    }

    @Override
    public String toString() {
        return "["+no+","+type+","+(status?"空闲":"占用")+"]";
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解Spring Boot 2.0.2+Ajax解决跨域请求的问题

    详解Spring Boot 2.0.2+Ajax解决跨域请求的问题

    这篇文章主要介绍了详解Spring Boot 2.0.2+Ajax解决跨域请求的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • java实现简单的学生管理系统

    java实现简单的学生管理系统

    这篇文章主要为大家详细介绍了java实现简单的学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Spring中多配置文件及引用其他bean的方式

    Spring中多配置文件及引用其他bean的方式

    本文给大家介绍spring中多配置文件及引用其他bean的方式,涉及到spring配置文件的相关知识,感兴趣的朋友一起学习吧
    2016-03-03
  • Spring注解配置IOC,DI的方法详解

    Spring注解配置IOC,DI的方法详解

    这篇文章主要为大家介绍了vue组件通信的几种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 关于Java中的mysql时区问题详解

    关于Java中的mysql时区问题详解

    这篇文章主要给大家介绍了关于Java中mysql时区问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • 详解Maven JAR包冲突问题排查及解决方案

    详解Maven JAR包冲突问题排查及解决方案

    这篇文章主要介绍了Maven JAR包冲突问题排查及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 聊一聊SpringBoot服务监控机制

    聊一聊SpringBoot服务监控机制

    这篇文章主要介绍了聊一聊SpringBoot服务监控机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 部署Java在服务器端的EJB组件的方法

    部署Java在服务器端的EJB组件的方法

    这篇文章主要介绍了部署Java在服务器端的EJB组件的方法,同时给出了简单的客户端调用方法,需要的朋友可以参考下
    2015-11-11
  • Springboot application.yml配置文件拆分方式

    Springboot application.yml配置文件拆分方式

    这篇文章主要介绍了Springboot application.yml配置文件拆分方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot调用对方webService接口的几种方法示例

    SpringBoot调用对方webService接口的几种方法示例

    平常我们开发调用接口一般会用到几种数据格式,比如有restful的,这个是目前最流行的,也是最简单开发的,还有一种就是webservice数据格式,本文给大家介绍了几种SpringBoot调用对方webService接口的方法,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2023-11-11

最新评论