0


Java实现酒店管理系统(可运行可实现)

系列文章目录

文章目录

学习Java的最终目的就是学会如何去运行Java编写一些我们需要的程序,那么今天我门来编写一个酒店管理系统的案例

一、 HotelMgSystem

首先我们建立一个程序入口HotelMgSystem

packagetest;importjava.util.Scanner;publicclassHotelMgSystem{publicstaticvoidmain(String[] args){//先开辟一个空间,定义一个酒店Hotel h=newHotel();//下面便是欢迎和指导用户如何使用操作系统的过程Scanner sc=newScanner(System.in);System.out.println("欢迎使用酒店管理系统");System.out.println("输入对应的数字管理系统");System.out.println("1:表示查看房间列表,2:表示订房,3:表示退房,4:退出系统");//用一个while循环,可以使得系统的操作多次使用while(true){System.out.println("请输入数字选择需要的操作");int i=sc.nextInt();if(i==1){//查看房间列表
                h.print();}if(i==2){//订房System.out.println("请输入要订房的房间编号");int a=sc.nextInt();
                h.order(a);}if(i==3){//退房System.out.println("请输入要退房的房间编号");int b=sc.nextInt();
                h.exit(b);}if(i==4){//退出系统System.out.println("退出成功");return;}}}}

这是我已经编写完成的代码,大家只需要看到public static void main(String[] args)就行

二、Room

接下来我们来在jvm中开辟属于房间的内存,由于我们生活的世界是立体的,所以我建立了一个二位数组来储存房间的位置

packagetest;importjava.util.Objects;publicclassRoom{privateint id;//房间编号/*
    101 102 103 104 ...
    201 202 203 204 ...
    301 302 303 304...
     */privateString type;//房间类型/*
    标准  普通  豪华  总统
     */privateboolean status;//房间是否空闲publicRoom(){}publicRoom(int id,String type,boolean status){this.id = id;this.type = type;this.status = status;}publicintgetId(){return id;}publicvoidsetId(int id){this.id = id;}publicStringgetType(){return type;}publicvoidsetType(String type){this.type = type;}publicbooleanisStatus(){return status;}publicvoidsetStatus(boolean status){this.status = status;}//对equals方法的重写@Overridepublicbooleanequals(Object o){if(this== o)returntrue;if(o ==null||getClass()!= o.getClass())returnfalse;Room room =(Room) o;return id == room.id &&
                status == room.status &&Objects.equals(type, room.type);}@OverridepublicinthashCode(){returnObjects.hash(id, type, status);}//对toString方法的重写@OverridepublicStringtoString(){return"{"+"房间号:"+ id +','+"类型:"+ type +", "+"状态:"+(status?"空闲":"占用")+'}';}}

我们需要重写toString(),和equals(),这是一种良好的编程习惯应该,不过在idea中我们可以直接生成重写的方法,大大节约的时间成本

三、Hotel

接下来我们就可以编写房间需要的方法了,比如开房,退房,查看房间等等操作

packagetest;publicclassHotel{//用二维数组来定义房间//在这里调用Room定义的类privateRoom[][] rooms;privateString name;publicHotel(){//假设这个酒店是一个4层楼,每层都有7个房间
        rooms =newRoom[4][7];//现在每个房间里面的都是null,暂时我们没赋值//接下来我们用双重循环赋值for(int i =0; i < rooms.length; i++){for(int j =0; j < rooms[i].length; j++){if(i ==0)
                    rooms[i][j]=newRoom((i +1)*100+ j +1,"标准间",true);if(i ==1)
                    rooms[i][j]=newRoom((i +1)*100+ j +1,"普通间",true);if(i ==2)
                    rooms[i][j]=newRoom((i +1)*100+ j +1,"豪华间",true);if(i ==3)
                    rooms[i][j]=newRoom((i +1)*100+ j +1,"总统间",true);}}}//打印房间状态//遍历二维数组publicvoidprint(){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();}}publicvoidorder(int id){Room room1 =rooms[id /100-1][id %100-1];
        room1.setStatus(false);System.out.println("订房成功");}publicvoidexit(int id){Room room2 =rooms[id /100-1][id %100-1];
        room2.setStatus(true);System.out.println("退房成功");}}

有一点需要注意的是,在使用二维数组的时候,我们最好使用遍历,这样会大大节约我们的工作量

运行

`接下来我们运行看看

"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe""-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=56457:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin"-Dfile.encoding=UTF-8-classpath C:\IdeaProjects\heima169work\out\production\day19 test.HotelMgSystem
欢迎使用酒店管理系统
输入对应的数字管理系统
1:表示查看房间列表,2:表示订房,3:表示退房,4:退出系统
请输入数字选择需要的操作

我们输入1试试看

1{房间号:101,类型:标准间, 状态:空闲}{房间号:102,类型:标准间, 状态:空闲}{房间号:103,类型:标准间, 状态:空闲}{房间号:104,类型:标准间, 状态:空闲}{房间号:105,类型:标准间, 状态:空闲}{房间号:106,类型:标准间, 状态:空闲}{房间号:107,类型:标准间, 状态:空闲}{房间号:201,类型:普通间, 状态:空闲}{房间号:202,类型:普通间, 状态:空闲}{房间号:203,类型:普通间, 状态:空闲}{房间号:204,类型:普通间, 状态:空闲}{房间号:205,类型:普通间, 状态:空闲}{房间号:206,类型:普通间, 状态:空闲}{房间号:207,类型:普通间, 状态:空闲}{房间号:301,类型:豪华间, 状态:空闲}{房间号:302,类型:豪华间, 状态:空闲}{房间号:303,类型:豪华间, 状态:空闲}{房间号:304,类型:豪华间, 状态:空闲}{房间号:305,类型:豪华间, 状态:空闲}{房间号:306,类型:豪华间, 状态:空闲}{房间号:307,类型:豪华间, 状态:空闲}{房间号:401,类型:总统间, 状态:空闲}{房间号:402,类型:总统间, 状态:空闲}{房间号:403,类型:总统间, 状态:空闲}{房间号:404,类型:总统间, 状态:空闲}{房间号:405,类型:总统间, 状态:空闲}{房间号:406,类型:总统间, 状态:空闲}{房间号:407,类型:总统间, 状态:空闲}
请输入数字选择需要的操作

看到打印出来所有的房间,因为我在程序操作中加了循环,所以我们的程序可以一直运行直到我们输入4
我们输入4看看

请输入数字选择需要的操作
4
退出成功

Process finished withexit code 0

很显然这个程序达到了我的预估效果,所以这个案例我们算是完成了

总结

这个案例基本结合了我们前面所学的一切内容,大家感兴趣可以尝试一些啦
在这里插入图片描述


本文转载自: https://blog.csdn.net/qq_62277444/article/details/124811612
版权归原作者 第七片海⡬ 所有, 如有侵权,请联系我们删除。

“Java实现酒店管理系统(可运行可实现)”的评论:

还没有评论