文章目录

  • 酒店管理系统

酒店管理系统

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

    • 1、该系统的用户是酒店的前台
    • 2、酒店当中所有的房间使用一个二维数组来模拟
    • 3、酒店当中的每一个房间应该是一个java对象:Room
    • 4、每一个房间Room应该有:房间编号,房间类型属性,房间是否空闲


Hotel.java

/*** Created with IntelliJ IDEA.* Description:酒店* User: Lenovo* Date: 2022-07-02* Time: 20:10*/
public class Hotel {/*** 二维数组,模拟大厦所有的房间* @param args*/private Room[][] rooms;public Hotel(){//通过构造方法来盖楼层rooms=new Room[3][10];//动态初始化,里面每个元素都还是null//创建30个room对象,放到数组当中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{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.length;j++){Room room=rooms[i][j];System.out.println(room);}}}/*** 订房方法* @param roomNo 调用此方法需要传递一个房间编号过来* 这个房间编号是前台小姐姐输入的*/public void order(int roomNo){//订房主要是将房间对象的status修改为falseRoom room=rooms[roomNo/100-1][roomNo%100-1];//把房间状态修改为占用room.setStatus(false);System.out.println(roomNo+"订房成功!");}/*** 退房* @param roomNo*/public void exit(int roomNo){Room room=rooms[roomNo/100-1][roomNo%100-1];room.setStatus(true);System.out.println(roomNo+"已经退房!");}
}

HotelSystem.java

/*** Created with IntelliJ IDEA.* Description:* User: Lenovo* Date: 2022-07-03* Time: 18:01*/
public class HotelSystem {public static void main(String[] args) {System.out.println("欢迎使用酒店管理系统,请认真阅读以下说明:");System.out.println("请输入对应的功能编号:【1】查看房间列表。【2】订房。【3】退房。【0】退出系统");Scanner s=new Scanner(System.in);Hotel hotel=new Hotel();while(true){System.out.print("请输入功能编号:");int i=s.nextInt();if(i==1){//查看房间列表hotel.print();}else if(i==2){//订房System.out.print("请输入要订房的房间号码:");int numNo=s.nextInt();hotel.order(numNo);}else if(i==3){//退房System.out.print("请输入要退房的房间号码:");int numNo=s.nextInt();hotel.exit(numNo);}else if(i==0){//退出系统System.out.print("已退出系统");return;}else {System.out.print("输入错误,请重新输入:");}}}
}

Room.java

/*** Created with IntelliJ IDEA.* Description:酒店的房间* User: Lenovo* Date: 2022-07-02* Time: 20:48*/import java.util.Objects;
import java.util.Scanner;/*** 酒店的房间*/
public class Room {/*** 房间编号:int no* 1楼:101  102  103...* 2楼:201  202  203...* 3楼:301  302  303...* ...*/private int no;/*** 房间类型:标准间,单人间,总统套房* String type*/private String type;/*** 房间状态* true:表示空闲,房间可以被预定* false:表示占用,房间不能被预定* boolean status*/private boolean status;//构造方法public Room(int no, String type, boolean status) {this.no = no;this.type = type;this.status = status;}public Room() {}//set和get方法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方法重写@Overridepublic 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 && status == room.status && Objects.equals(type, room.type);}@Overridepublic int hashCode() {return Objects.hash(no, type, status);}//toString方法重写@Overridepublic String toString() {return "[" + "房间编号:" + no + ", 房间类型:'" + type  + ", 房间状态:" + status + ']';}}

【JAVASE系列】11_酒店订房系统相关推荐

  1. mq系列传感器的程序_深圳现代通信系列实训系统

    深圳现代通信系列实训系统 ejsnb5p 深圳现代通信系列实训系统 因为考虑到机箱的抗腐蚀.导电.导热等的内部要求,我们的机箱减震系统全部采用金属材料制成,这比起用橡胶材料做减震不但能达到上述要求,还 ...

  2. 手哥架构宝典系列:支付系统2.0架构演进

    本文节选自手哥架构宝典 - 支付系统演进2.0版本 手哥架构宝典之支付系统1.0发布后,很多架构师朋友表示收益匪浅,询问支付系统2.0版本什么时候放出来,今天刊发出<架构宝典>支付系统2. ...

  3. oracle软件工程,.Net软件工程师学用Oracle系列(9):系统函数(上)

    .Net程序员学用Oracle系列(9):系统函数(上) 本文大纲 众所周知,Oracle 中系统函数特别多,貌似有好几百个,但实际上大部分函数对于普通应用而言,永远都用不到,本文将主要介绍 Orac ...

  4. 玩转英伟达jetson系列(一)刷系统

    玩转英伟达jetson系列(一)刷系统 1.因为工作的原因,有幸同时接触并应用了英伟达jetson nano,jetson tx2和jetson Agx Xavier这三款嵌入式的AI计算平台,对于我 ...

  5. vue 雷达扫描_Groundvue系列地质雷达探测系统及其应用

    Groundvue 系列地质雷达探测系统及其应用 袁宝远 , 程 岩 , 李勇军 [摘 要] 摘要:地质雷达虽然应用广泛,但测试深度有待增加.测试可靠性有 待进一步提高.利用水利部 948 项目资金从 ...

  6. 《JAVASE系列》抽象类与接口

    <JAVASE系列>抽象类与接口 文章目录 <JAVASE系列>抽象类与接口 前言 1.抽象类 1.1抽象类是什么? 1.2 抽象的语法与细节 1.3抽象类的意义与作用 2.接 ...

  7. C++教程系列之-02-win10系统下codeblocks-20.03下载与安装

    C++教程系列之-02-win10系统下codeblocks-20.03下载与安装 1. codeblocks-20.03下载与安装 1.1 codeblocks-20.03mingw-setup.e ...

  8. 鸿蒙系统支持手表,终于等到了!WATCH旗舰系列搭载鸿蒙系统,你会支持吗?

    终于等到了!WATCH旗舰系列搭载鸿蒙系统,你会支持吗? 鸿蒙系统一直都是国人比较期待的一款手机系统,因为目前国内用户使用的都是苹果的IOS系统和安卓系统,遗憾的是并不是国人自己的系统,期待了很久的鸿 ...

  9. 系统架构系列(一):系统架构概念、分类和特性

    一.推导系统架构的公式 1.1 系统架构概念拆分 在学习一门技术的时候,一定要知道是什么.为什么.怎么做.系统架构这个概念本身就非常大,而且有各种各样的定义,初学者会遇到这样的困境:到底什么是系统架构 ...

最新文章

  1. JS实现-页面数据无限加载
  2. 做程序员10年了,复制粘贴是我最牛逼的技能,从菜鸟兑变成大牛,直到看了这些大佬的公众号...
  3. springboot2.0系列(二):配置属性
  4. 小鹏汽车2021财年总收入209.9亿元 同比增长259.1%
  5. mysql 事务sql_mysql存储过程之事务篇
  6. 销售方法论居然来自公司战略!看看IBM、华为、SAP是怎么做的
  7. Unity 序列帧动画
  8. Script.NET 1.0版本的Tcl+Html界面编程原理
  9. 宝塔Inode信息使用率100%满了怎么清理?
  10. java常用的排序方法
  11. 苹果电脑ping 不通本地网络
  12. 电信获取光猫超级密码
  13. RAKsmart日本服务器的综合性能评测
  14. 实现iOS系统相机九宫格滤镜的思路
  15. 双目立体视觉Bouguet矫正算法详解
  16. C++ 实现去除文本中的重复行
  17. halcon机器视觉玩转车牌识别-超人视觉罗超
  18. 历届CSP真题题解-CSP刷真题之路
  19. Java Applet与Java Application的区别
  20. 爬取百度地图 商店铺联系电话地址定位

热门文章

  1. Jenkins Sharable library
  2. 蓝桥杯C++:BASIC30 阶层计算
  3. 新安装kali系统必需要做的几项,慢慢的更新添加
  4. python3网络开发实战_《python3网络爬虫开发实战》--基本库的使用
  5. GitHub快速搭建个人博客
  6. CMMI评估EPG问答
  7. BUUCTF misc 专题(106)[MRCTF2020]Unravel!!
  8. 数学之美:牛顿-拉夫逊迭代法原理及其实现
  9. 信息安全服务资质CCRC认证和ISO27001认证有哪些不同?
  10. 2019年Android版本分布(市场占有率、市场份额)统计