前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java实现小型酒店管理系统。

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

作者头像
百思不得小赵
发布2022-12-01 12:00:10
4700
发布2022-12-01 12:00:10
举报
文章被收录于专栏:小赵Java总结

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

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

Room类:

代码语言:javascript
复制
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类:

代码语言:javascript
复制
//酒店对象,二维数组模拟酒店大厦
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+"退房成功");
    }
}

酒店管理系统测试类:

代码语言:javascript
复制
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;
            }
        }
    }
}

运行结果:

代码语言:javascript
复制
欢迎使用酒店管理系统,请在使用前阅读以下说明
功能如下:[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
退出系统成功,欢迎下次使用,谢谢!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编写Java程序实现小型酒店管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档