天天减肥网,内容丰富有趣,生活中的好帮手!
天天减肥网 > Java实现酒店管理系统(可运行可实现)

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

时间:2019-07-26 10:05:48

相关推荐

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

系列文章目录

文章目录

系列文章目录一、 HotelMgSystem二、Room三、Hotel运行总结

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

一、 HotelMgSystem

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

package test;import java.util.Scanner;public class HotelMgSystem {public static void main(String[] args) {//先开辟一个空间,定义一个酒店Hotel h= new Hotel();//下面便是欢迎和指导用户如何使用操作系统的过程Scanner sc=new Scanner(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中开辟属于房间的内存,由于我们生活的世界是立体的,所以我建立了一个二位数组来储存房间的位置

package test;import java.util.Objects;public class Room {private int id;//房间编号/*101 102 103 104 ...201 202 203 204 ...301 302 303 304...*/private String type;//房间类型/*标准 普通 豪华 总统*/private boolean status;//房间是否空闲public Room() {}public Room(int id, String type, boolean status) {this.id = id;this.type = type;this.status = status;}public int getId() {return id;}public void setId(int id) {this.id = id;}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方法的重写@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Room room = (Room) o;return id == room.id &&status == room.status &&Objects.equals(type, room.type);}@Overridepublic int hashCode() {return Objects.hash(id, type, status);}//对toString方法的重写@Overridepublic String toString() {return "{" +"房间号:" + id +','+"类型:" + type +", " + "状态:"+(status?"空闲":"占用") +'}';}}

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

三、Hotel

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

package test;public class Hotel {//用二维数组来定义房间//在这里调用Room定义的类private Room[][] rooms;private String name;public Hotel() {//假设这个酒店是一个4层楼,每层都有7个房间rooms = new Room[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] = 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);if (i == 3)rooms[i][j] = new Room((i + 1) * 100 + j + 1, "总统间", true);}}}//打印房间状态//遍历二维数组public void print() {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 id) {Room room1 =rooms[id / 100 - 1][id % 100 - 1];room1.setStatus(false);System.out.println("订房成功");}public void exit(int id){Room room2 =rooms[id / 100 - 1][id % 100 - 1];room2.setStatus(true);System.out.println("退房成功");}}

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

运行

`接下来我们运行看看

"C:\JetBrains\IntelliJ IDEA .2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA .2.4\lib\idea_rt.jar=56457:C:\JetBrains\IntelliJ IDEA .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 with exit code 0

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

总结

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

如果觉得《Java实现酒店管理系统(可运行可实现)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。