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

【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.lryc.cn/news/450148.html

相关文章:

  • 【数据库】Java 中 MongoDB 使用指南:步骤与方法介绍
  • MySQL之内置函数
  • JVM 基本组成
  • Ubuntu 离线安装 docker
  • 【C++】set详解
  • C++游戏开发:构建高性能、沉浸式游戏体验的关键
  • 【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】
  • 第三方供应商不提供API接口?教你四步破解集成难题
  • WebAssembly 为什么能提升性能,怎么使用它 ?
  • golang学习笔记13-函数(二):init函数,匿名函数,闭包,defer
  • HAproxy,nginx实现七层负载均衡
  • ps aux | grep smart_webrtc这条指令代表什么意思
  • 第十三届蓝桥杯真题Python c组D.数位排序(持续更新)
  • 【RabbitMQ】RabbitMq消息丢失、重复消费以及消费顺序性的解决方案
  • 海陆钻井自动化作业机器人比例阀放大器
  • golang学习笔记19-面向对象(一):面向对象的引入
  • 【从零开始实现stm32无刷电机FOC】【实践】【7.1/7 硬件设计】
  • unix中父进程如何获取子进程的终止状态
  • 【ESP 保姆级教程】小课设篇 —— 案例:20240505_基于esp01s的局域网控制灯
  • Qt如何将外部窗口嵌入部件中
  • 2024年9月30日随笔
  • springboot+satoken实现刷新token(值变化)
  • 63.HDMI显示器驱动设计与验证-彩条实验
  • 安卓13设置删除网络和互联网选项 android13隐藏设置删除网络和互联网选项
  • C++的6种构造函数
  • 【FE】NPM——概述
  • Clipboard.js实现复制文本到剪贴板功能
  • Harbor安装笔记
  • HTTP 1.0 2.0 3.0详解
  • Python操作TXT文本:从入门到精通