【Java】酒店管理系统

一 需求:

编写程序 模拟酒店管理系统 : 预订和退订以及查看所有房间

1 需要有一个酒店类

2 需要有一个房间类

3 需要有一个客户端类

public class Test {

}

二 分析:

客户端 :
1 先打印所有房间
2 等待用户输入,根据输入情况 判断是预订还是退订
3 等待用户输入房间号
4 调用酒店的 预订/退订方法 把房间号传入 完成预订/退订功能
5 完成之后,做出相应提示 , 然后再次打印所有房间
6 死循环 依次执行以上步骤

class Client{

}

酒店类 :
规模 : 五层,每层10个房间
其中 : 1,2 层为标准间
3,4 层为双人间
5层为豪华间
房间编号 : 1层 : 101, 102, ….110 , 2层 : 201,202…210 … 以此类推
房间默认都为空闲

需要提供
预订房间方法 : 需要根据 房间编号 预订房间
如果该房间已经被预订了,需要提示

退订房间方法 : 需要根据 房间编号 退订房间
如果该房间没有被预订 需要提示

查看所有房间的方法 :
打印格式为 :
[101 标准间 占用] [102 标准间 空闲]….
[201 标准间 空闲] ……
[501 豪华间 空闲] …. [510 豪华间 占用]

三 代码实现

客户端(Client)

package HotelSystem;import java.util.Scanner;public class Client {
public static void main(String[] args) {Hotel hotel=new Hotel();Scanner s=new Scanner(System.in);while (true) {System.out.println("请输入你要选择的功能: 1 查看房间  2 房间预订 3 退房  0 退出");int a=s.nextInt();switch (a) {case 1:hotel.show();break;case 2:System.out.println("请输入房间号");int b=s.nextInt();hotel.order(b);break;case 3:System.out.println("请输入房间号");int c=s.nextInt();hotel.checkOut(c);break;case 0:return;}}
}
}

酒店类(Hotel):

package HotelSystem;//包名
import java.security.PublicKey;
public class Hotel {private Room[][] rooms=new Room[5][10];  //创建酒店房间的个数//构造方法public Hotel(){//对酒店进行初始化for(int i=0;i<rooms.length;i++){for(int j=0;j<rooms[i].length;j++){if(i<=2){rooms[i][j]=new Room((i+1)*100+j+1, "标准间", true);}if(i>2&&i<4){rooms[i][j]=new Room((i+1)*100+j+1, "双人间", true);}if(i==4){rooms[i][j]=new Room((i+1)*100+j+1, "豪华间", true);}}}}	 //房间展示public  void show(){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 num){if (num/100-1>4 || num%100-1>9){System.err.println("该房间不存在,请输入正确的房间号!");}else {if(num==rooms[num/100-1][num%100-1].getNumber()){if(rooms[num/100-1][num%100-1].isFlab()==false){System.err.println("该房间已被占用,请选择其他房间");}else {rooms[num/100-1][num%100-1].setFlab(false);System.out.println("预订成功!!!");}				}}}//退房public void checkOut(int num){if (num/100-1>4 || num%100-1>9){System.err.println("该房间不存在,请输入正确的房间号!");}else {if(rooms[num/100-1][num%100-1].isFlab()==true){System.err.println("该房间无需退房!!!");}else {rooms[num/100-1][num%100-1].setFlab(true);System.out.println("退房成功!!!");	}}		}
}

房间类(Room):

package HotelSystem;public class Room {
private int number;
private String type;
private boolean flab;
//getSet方法
public int getNumber() {return number;
}
public void setNumber(int number) {this.number = number;
}
public String getType() {return type;
}
public void setType(String type) {this.type = type;
}
public boolean isFlab() {return flab;
}
public void setFlab(boolean flab) {this.flab = flab;
}
// 构造方法
public Room(int number, String type, boolean flab) {super();this.number = number;this.type = type;this.flab = flab;
}
@Override
public String toString() {return "Room ["+ number +"  "+  type +"  "+ (flab==true?"空闲":"占用") + "]";
}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550279.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Yolov8分类检测记录

1.先到github上下载&#xff0c;ultralytics源代码 2.pycharm新建一个项目 3.准备训练数据 数据的结构如下 不需要.yaml文件&#xff0c;代码会自动识别要分的类 4.创建一个训练文件 import torch import random import cv2 import numpy as np import os from ultralytics…

Mac安装Manim并运行

1.在macOS上创建Python虚拟环境&#xff0c;可以使用venv模块&#xff0c;这是Python自带的库&#xff0c;也可以使用conda。以下是使用venv创建和使用Python虚拟环境的步骤&#xff1a; 打开终端。 创建一个新的目录来存放你的项目&#xff0c;并进入该目录&#xff1a; mk…

知识产权管理为何要迈向数字化?

在当今数字化时代&#xff0c;知识产权管理也面临着新的机遇与挑战。传统的知识产权管理方式逐渐显露出效率低下、信息不畅通等弊端。随着数字化浪潮的推进&#xff0c;知识产权管理的数字化建设已成为不可逆转的趋势。 1.提高管理效率 自动化流程&#xff1a;数字化建设可以…

【开源看AI】4.2K star!Reor:AI自动帮你发现知识之间的连接

转自公众号&#xff1a;无人之路 前几天介绍了Quivr&#xff0c;一款用AI帮助个人管理知识、构建第二大脑的人工智能应用。不过Quivr侧重的是将你已有的、很大可能是从其他地方得来的知识文档&#xff08;比如PDF、 Word等&#xff09;汇总成不同主题的Brain&#xff0c;这个汇…

VLAN与三层交换机的原理与配置

一、VLAN概述与优势 1、VLAN的概述 分割广播域 物理分割&#xff08;交换机&#xff09; 逻辑分割&#xff08;VLAN&#xff09;&#xff1a;Vlanif →interface vlan 是逻辑端口&#xff0c;通常这个接口地址作为vlan下面用户的网关 例如&#xff1a; 补充知识 广播&am…

【Windows】自定义显示器的分辨率

背景 由于本人更新驱动导致2个显示器里面&#xff0c;有一个显示器的分辨率只剩下2个可以调节 这样就导致2个显示器分辨率不同&#xff0c;更新了多次驱动都修复不了&#xff0c;所以想着看能不能自定义分辨率 工具下载 显示器自定义分辨率工具 或者百度搜索 Custom Resolu…

无锡卓瓷X哲讯智能科技,SAP项目正式启动!

在数字化浪潮的推动下&#xff0c;高精密陶瓷行业的领军企业—无锡卓瓷科技有限公司&#xff0c;携手哲讯智能科技有限公司近期启动SAP&BI项目&#xff0c;以打造行业领先的数字化管理平台。这一战略举措标志着无锡卓瓷在数字化转型的道路上迈出了坚实的一步。 无锡卓瓷—…

基于Spring3.0实现AOP的小案例

前言 AOP&#xff08;Aspect Oriented Programming&#xff09;即面向切面编程&#xff0c;是一种通过预编译方式和运行期间动态代理实现程序功能统一维护的技术。针对功能增强的描述&#xff0c;可以理解为&#xff1a;“AOP允许在不修改源代码的情况下&#xff0c;通过定义切…

刚毕业就做项目经理,现在感觉越做越没动力,还有必要坚持下去吗?

那种一毕业就做项目经理的&#xff0c;以为是少走10年弯路&#xff0c;干了一年后&#xff0c;才发现这简直就是在坑自己。没点真材实料&#xff0c;经理也变成了“空中架子”。 因此&#xff0c;很多一毕业就当上项目经理的人&#xff0c;要么是干着干着就转回到技术岗位&…

【py】字符串切片

下面是一个简单的Python脚本&#xff0c;它读取输入的学号和姓名&#xff0c;然后按照要求拆分并输出&#xff1a; # 从键盘输入学号和姓名 input_str input("请输入学号和姓名&#xff1a;") # 学号和姓名的长度&#xff0c;可以根据实际情况调整 grade_length …

C语言自定义类型:枚举

目录 前言枚举类型1.枚举类型的声明2.枚举类型的优点3.枚举类型的使⽤ 总结 前言 这期我们来学习C语言的最后一个自定义类型——枚举&#xff0c;话不多说&#xff0c;正文开始&#xff1a; 枚举类型 1.枚举类型的声明 枚举顾名思义就是⼀⼀列举。 把可能的取值⼀⼀列举。 …

外资在华 | 这家欧洲医疗诊断龙头如何用纷享销客CRM深耕中国市场

该公司的起源可以追溯到19世纪末的欧洲&#xff0c;是全球体外诊断领域的领军企业之一。 目前该公司经营产品超过2000余种&#xff0c;在全球细菌学市场占据领先地位&#xff0c;市场占有率超过20%&#xff0c;是全球TOP5级别的感染性疾病诊断厂家&#xff0c;占全球超10%的市…

GPG error golang 1.19

1. 问题描述及原因分析 在飞腾2000的服务器&#xff0c;OS为Kylin Linux Advanced Server release V10环境下&#xff0c;docker版本为18.09.0&#xff08;docker-engine-18.09.0-101.ky10.aarch64&#xff09;&#xff0c;基于容器镜像golang:1.19编译新的容器镜像&#xff0…

第二百五十九节 JPA教程 - JPA查询选择两个属性示例

JPA教程 - JPA查询选择两个属性示例 从别名开始&#xff0c;我们可以使用点&#xff08;.&#xff09;运算符浏览实体关系。 以下JPQL从一个实体中选择两个属性。 List l em.createQuery("SELECT e.name, e.salary FROM Professor e")例子 下面的代码来自PersonDa…

四川财谷通信息技术有限公司抖音小店领域的强势力量

在数字化浪潮汹涌的今天&#xff0c;电商行业以其独特的魅力和无限潜力&#xff0c;成为了推动经济发展的重要力量。而在这片充满机遇与挑战的电商蓝海中&#xff0c;四川财谷通信息技术有限公司凭借其敏锐的市场洞察、创新的技术实力以及优质的服务品质&#xff0c;迅速崛起为…

无人机在农业方面的应用!

一、提高农业生产效率 通过搭载农业智能传感器和喷洒设备&#xff0c;可以实现对农田的精准施肥和喷药。这种方式不仅减少了农药和化肥的浪费&#xff0c;还降低了对环境的污染&#xff0c;提高了农业生产效率。 无人机利用热、多光谱和高光谱技术&#xff0c;可以高效、准确…

低代码统一代办系统:提升工作效率的新利器

什么是低代码统一代办系统&#xff1f; 低代码统一代办系统是通过低代码开发平台构建的一种工具&#xff0c;用于集中管理和跟踪团队成员的任务和待办事项。该系统具有可视化设计、模块化组件和灵活性&#xff0c;能够快速适应不同团队和项目的需求&#xff0c;提高工作效率。…

海滨体育馆管理:SpringBoot系统设计与实现

1引言 1.1课题背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理&#xff0c;这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制&#xff0c;不仅提高了工作效率&#xff0c;而且大大的提高了其…

关于没有启用root问题,分区表挂载错误,导致系统无法启动

1、为啥这样设置&#xff0c;root 2、密码破解也无效 2.1、开机启动&#xff0c;按 e 进入启动文件界面 2.2、把ro修改为rw&#xff0c;注意r和o之间包了个反斜杠 2.3、ctrl x退出当前模式 2.4、rw initsysroot/bin/sh 2.5、chroot /sysroot 2.6、然后输入touch /.autorelabe…

数字人直播屡次违规真相曝光!有哪些技术可以有效解决?

随着数字人直播的应用频率不断升高&#xff0c;其所蕴含着的市场需求和收益潜力日渐显现&#xff0c;让其用户规模得以持续扩大的同时&#xff0c;也让不少创业者都有了找数字人源码厂商搭建数字人直播系统的计划。在此背景下&#xff0c;与数字人直播违规吗相关的各类话题和答…