当前位置: 首页 > news >正文

java实操(二)-酒店管理系统

一、题目

使用二维数组实现酒店管理系统。功能如下:

1.查看酒店所有房间的状态

2.预定房间

3.退房

4.退出系统

二、程序

1.Hotel.java

package Hotel;public class Hotel {private int id;private String standard;private String status;public Hotel() {}public Hotel(int id, String standard, String status) {this.id = id;this.standard = standard;this.status = status;}public Hotel(String standard, String status) {this.standard = standard;this.status = status;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getStandard() {return standard;}public void setStandard(String standard) {this.standard = standard;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}@Overridepublic String toString() {return "[" + id + "," + standard + "," + status + "]" ;}@Overridepublic boolean equals(Object obj) {if(obj == null){return false;}if(this == obj){return true;}if(obj instanceof Hotel){Hotel h = (Hotel)obj;return h.getStatus().equals(this.getStatus());}return false;}
}

2.manager.java

package Hotel;public class manager {private Hotel[][] hotel = new Hotel[7][11];public manager(){for(int i = 0;i < 2; i ++){for(int j = 0;j < 10;j++){hotel[i+1][j+1] = new Hotel(100 * (i+1) +j+1,"单人间","空闲");}}for(int i = 2;i < 4;i++){for(int j = 0;j<10;j++){hotel[i+1][j+1] = new Hotel(100 * (i+1) +j+1,"标准间","空闲");}}for(int i = 4;i < 6;i++){for(int j = 0;j<10;j++){hotel[i+1][j+1] = new Hotel(100 * (i+1) +j+1,"豪华间","空闲");}}}public void display(){for(int i = 1;i<7;i++){for(int j = 1;j<11;j++){System.out.print(hotel[i][j]);}System.out.println();}}public void book(int num){for(int i = 1;i<7;i++) {for (int j = 1; j < 11; j++) {if (num == hotel[i][j].getId()){if(hotel[i][j].getStatus().equals("占用")){System.out.println("不好意思,您预定的房间已经被占用,请预定别的房间!");return;}hotel[i][j].setStatus("占用");System.out.println("预定房间成功!");}}}}public void unbook(int num){for(int i = 1;i<7;i++) {for (int j = 1; j < 11; j++) {if (num == hotel[i][j].getId()){hotel[i][j].setStatus("空闲");System.out.println("退房成功!");}}}}
}

3.test.java

package Hotel;
import java.util.Scanner;
public class test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);manager manager = new manager();manager.display();while(true){System.out.println("欢迎来到酒店管理系统~");System.out.println("[1]查看所有房间状态");System.out.println("[2]预定房间");System.out.println("[3]退房");System.out.println("[0]退出系统");System.out.print("请输入不同的数字来选择对应的功能:");int menu = scanner.nextInt();switch (menu){case 0 -> System.exit(0);case 1 -> {manager.display();}case 2 ->{System.out.print("请输入预定的房间编号:");int booknum = scanner.nextInt();manager.book(booknum);}case 3 ->{System.out.print("请输入退房编号:");int unbooknum = scanner.nextInt();manager.unbook(unbooknum);}}}}
}

三、小结

本实例较简单,用的是二维数组的方法实现的简单的酒店管理系统。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python的sqlalchemy使用@contextmanager来定义上下文管理器
  • MySQL进阶篇4 - 锁
  • mysql学习教程,从入门到精通,MySQL 删除数据库教程(6)
  • [快速入门] 使用 MybatisPlus 简化 CRUD 操作
  • 动手学深度学习(pytorch)学习记录26-卷积神经网路(LeNet)[学习记录]
  • Python操作ES集群API(增删改查等)
  • 民生水暖工程背后的科技力量引领工程智能化转型
  • 使用FastJson2将对象转成JSON字符串时,小数转换出错
  • RedissonClient 分布式队列工具类
  • 智能客服的演变:从传统到向量数据库的新时代
  • [iBOT] Image BERT Pre-Training with Online Tokenizer
  • springboot高校实验室预约系统-计算机毕业设计源码58031
  • 无需温度修正,测值准确可靠 GEO ACxxxx型振弦式锚索测力计
  • 机器学习特征分析
  • macos安装ArgoCD
  • angular2 简述
  • CentOS 7 防火墙操作
  • CSS盒模型深入
  • Cumulo 的 ClojureScript 模块已经成型
  • fetch 从初识到应用
  • Invalidate和postInvalidate的区别
  • Java小白进阶笔记(3)-初级面向对象
  • Otto开发初探——微服务依赖管理新利器
  • Spring Cloud中负载均衡器概览
  • Tornado学习笔记(1)
  • Vue 重置组件到初始状态
  • Vue2 SSR 的优化之旅
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 浮动相关
  • 回流、重绘及其优化
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 目录与文件属性:编写ls
  • 实现菜单下拉伸展折叠效果demo
  • 使用 Docker 部署 Spring Boot项目
  • 事件委托的小应用
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 无服务器化是企业 IT 架构的未来吗?
  • 学习Vue.js的五个小例子
  • 延迟脚本的方式
  • 鱼骨图 - 如何绘制?
  • 原生 js 实现移动端 Touch 滑动反弹
  • const的用法,特别是用在函数前面与后面的区别
  • k8s使用glusterfs实现动态持久化存储
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​人工智能书单(数学基础篇)
  • $jQuery 重写Alert样式方法
  • (12)Hive调优——count distinct去重优化
  • (LLM) 很笨
  • (web自动化测试+python)1
  • (初研) Sentence-embedding fine-tune notebook
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122