编写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
退出系统成功,欢迎下次使用,谢谢!

Java实现小型酒店管理系统。相关推荐

  1. java毕业设计小型酒店管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计小型酒店管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计小型酒店管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈 ...

  2. java计算机毕业设计小型酒店管理系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计小型酒店管理系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计小型酒店管理系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...

  3. java计算机毕业设计小型酒店管理系统源代码+数据库+系统+lw文档

    java计算机毕业设计小型酒店管理系统源代码+数据库+系统+lw文档 java计算机毕业设计小型酒店管理系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  4. java计算机毕业设计-小型酒店管理系统-源码+lw文档+系统+数据库

    java计算机毕业设计-小型酒店管理系统-源码+lw文档+系统+数据库 java计算机毕业设计-小型酒店管理系统-源码+lw文档+系统+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  5. 计算机毕业设计Java小型酒店管理系统(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java小型酒店管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java小型酒店管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  6. 基于JAVA如家酒店管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA如家酒店管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA如家酒店管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  7. 小型酒店管理系统(Vue+SpringBoot)(持续更新)

    小型酒店管理系统 一.前言 小型酒店管理系统采用Vue前端框架.SpringBoot框架实现项目前后端分离,并通过Mysql存储数据.本系统实现针对不同用户的登录验证:客户信息.前台管理员以及超级管理 ...

  8. javaweb JAVA JSP小型酒吧管理系统jsp酒吧系统jsp酒吧管理系统

    javaweb JAVA JSP小型酒吧管理系统jsp酒吧系统jsp酒吧管理系统 protected void doGet(HttpServletRequest req, HttpServletRes ...

  9. java计算机毕业设计酒店管理系统源码+数据库+lw文档+系统

    java计算机毕业设计酒店管理系统源码+数据库+lw文档+系统 java计算机毕业设计酒店管理系统源码+数据库+lw文档+系统 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件: ...

最新文章

  1. OpenVINO2021.4+YOLOX目标检测模型部署测试
  2. 【Python】插入sqlite数据库
  3. Windows 技术篇-网卡物理(MAC)地址查看方法
  4. 文巾解题 13. 罗马数字转整数
  5. using namespace cv_闪耀暖暖万圣节非凡魔女南瓜套公开 消耗钻石获取 大喵无CV
  6. android 生命周期_Android生命周期组件 Lifecycle 源码详解(一)
  7. 【java】java 并发编程 CopyOnWriteArrayList
  8. 博文目录(最新更新:2018.6.6)
  9. 【ACL2020】五篇与文本理解相关的论文
  10. IntelliJ IDEA for CleanCode
  11. Effective Java 枚举和注解 第30条:用 enum 代替 int 常量
  12. 【聚沙成塔系列】之《UML九种图
  13. web前端总结---day01
  14. 新猿木子李:0基础学python培训教程 Python操作Excel之格式转换
  15. PCL安装和环境配置
  16. python批量裁剪图片_python通过opencv实现批量剪切图片
  17. 黑马头条项目-Vue-day9-文章详情模块、关注与取消关注,点赞和喜欢功能
  18. 主力吸筹猛攻指标源码_通达信最准确的抄底指标——主力吸筹(无未来附源码)...
  19. Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译
  20. Win10 localhost无法打开的解决方法(亲测)

热门文章

  1. 数据库基础:IndexedDB
  2. 【品牌搜索】两步查找品牌数据,快速实现品牌营销布局。
  3. Unity调用Window提示框Yes/No(英文提示窗)
  4. Java实现指定目录下的文件查找
  5. 小米6设置位置服务器,小米6手机这样设置最科学
  6. 可扩展区块链的墨客实践——硅谷陈小虎
  7. Linux中的文件IO
  8. 1个月写900多条用例,二线城市年薪33W+的测试经理能有多卷?
  9. javascript 省市区三级联动 附: json数据
  10. AES加密,由S盒计算逆S盒程序