java:模拟酒店订房,退房,打印所有房间状态等功能
要求:
1、使用二维数组来模拟酒店
2、酒店中每一个房间都是一个对象
3、每一个房间都应该有:房间编号,房间类型,房间状态
4、系统对外提供的功能:
可以查看房间状态;
可以订房退房。
(以下有程序截图和程序文本)
=========================================================================
以下是程序截图:
房间类:
酒店类:
测试系统:
=========================================================================
以下是程序文本:
房间类:
public class Room {//定义一个int类型的变量,表示房间号:101,102...private int no;//定义一个String类型的变量,表示房间的类型:单人间,双人间private String type;//定义一个boolean类型的变量,表示房间现在的状态//true表示房间为空,现在可以被订房private boolean b;//无参构造public Room() {}//有参构造public Room(int no, String type, boolean b) {this.no = no;this.type = type;this.b = b;}//重写toString()方法public String toString() {//返回值return "[" + no + ", " + type + "," + (b ? "空闲" : "占用" ) +"]";}//重写equals()方法public boolean equals(Object obj){//如果obj为空或者obj指向的对象类型不是一个Room,返回falseif (obj == null || !(obj instanceof Room)) return false;//如果调用equals方法的引用和obj的地址相同,返回一个trueif (this == obj) return true;//程序执行到这一步,就说明需要进行比较,向下转型Room room = (Room)obj;//对房间号进行比较,如果房间号相同则返回一个true//return this.no == room.no;(这样写是错误的,必须通过getter方法去调用no)return this.getNo() == room.getNo();}//setter and getterpublic 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 getB() {return b;}public void setB(boolean b) {this.b = b;} }
酒店类:
public class Hotel {//二维数组,模拟大厦内所有房间private Room[][] rooms;//通过构造方法来创建房间public Hotel() {//一共有两层,每层6个房间this.rooms = new Room[2][6];//二维数组遍历,i是下标,i+1是楼层for (int i = 0; i < rooms.length; i++) {//j是下标,j+1是房号for (int j = 0; j < rooms[i].length; j++) {//错误的写法/*Room room = rooms[i][j];if(i == 0){System.out.print((i + 1) * 100 + (j + 1) + "," + "单人间" + true );}else if (i == 1) {System.out.print((i + 1) * 100 + (j + 1) + "," + "单人间" + true );}*///第一层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 );}}}}//提供一个打印所有房间状态的方法public void print() {//打印所有房间状态,就是遍历二维数组for (int i = 0; i < rooms.length; i++) {//里面for循环负责输出一行for (int j = 0; j < rooms[i].length; j++) {Room room = rooms[i][j];System.out.print(room);}System.out.println();}}//提供一个订房的方法,调用此方法时需要传递一个房间编号过来public void order(int roomNO){//订房最主要的是将房间对象的b修改为falserooms[roomNO / 100 - 1][roomNO % 100 - 1].setB(false);}//提供一个退房的方法,调用此方法时需要传递一个房间编号过来public void exit(int roomNO){//订房最主要的是将房间对象的b修改为falserooms[roomNO / 100 - 1][roomNO % 100 - 1].setB(true);}//setter and getterpublic Room[][] getRooms() {return rooms;}public void setRooms(Room[][] rooms) {this.rooms = rooms;} }
测试程序:
import java.util.Scanner;public class Test {public static void main(String[] args) {//创建酒店对象Hotel hotel = new Hotel();//输出说明System.out.println("使用说明:[1]查看房间列表。[2]订房。[3]退房。[0]退出系统。");Scanner s = new Scanner(System.in);//while循环可以一直输入编号while (true){System.out.println("输入功能编号:");int i = s.nextInt();//判断输入的数字if (i == 1) {hotel.print();}else if (i ==2){System.out.println("输入房间号:");int j = s.nextInt();hotel.order(j);}else if (i ==3){System.out.println("输入房间号:");int j = s.nextInt();hotel.exit(j);}else if (i ==0){System.out.println("再见!");return;}}} }
java:模拟酒店订房,退房,打印所有房间状态等功能相关推荐
- 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo
代码 房间类 package com.bjpowernode.javase.day23homework; //每一个房间Room应该有:房间编号.房间类型.房间是否空闲 public class Ro ...
- 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。
问题描述: 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能. 1.该系统的用户是:酒店前台. 2.酒店使用一个二维数组来模拟."Room[][] rooms;&qu ...
- 酒店订房退房管理系统(数组应用)
/*** 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能.* 1.该系统的用户是:酒店前台* 2.酒店使用一个二维数组来模拟.Room[][] rooms;* 3.酒店中的每 ...
- java模拟登录qq网站,实现一键签到等等功能
qq的网页登录是通过加密的,直接上最关键代码 使用JavaScript引擎调用qqRSA.js的加密文件 参数包含 用户名 密码 验证码 /*** * @return 返回加密后的字符串*/publi ...
- Vue使用photo-sphere-viewer360°×180°全景插件模拟VR看房、房间切换和自定义标注
Vue使用photo-sphere-viewer360°×180°全景插件模拟VR看房.房间切换和自定义标注 photo-sphere-viewer 下载插件 使用 常用参数 Markers插件 使用 ...
- Java多线程 模拟 购买 退订 机票
Java多线程 模拟 购买 退订 机票 package cn.com.cloud.sea.thread; /*** @author HenryLee* @version 1.0* 买票*/ publ ...
- 简单的酒店住房退房管理系统
运用java面向对象和二维数组的知识写了一个简单的酒店住房退房管理系统 适合初学java的同学 首先给大家看一下我的项目的目录结构,很简单就3个类 接下来给大家看一下我这3个类的代码 1,首先考虑一个 ...
- java模拟旅馆床位管理系统
--------更新(代码不更了--)-------- 实现了一个很丑.很简单的界面--可以控制模拟天数--并且说明模拟的旅馆房间详情-- 嘻嘻,实现了输入到excel中,使用的是jxl(据说已经很久 ...
- Java模拟实现一个基于文本界面的《家庭记账软件》
主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕输出格式控制 需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能 ...
最新文章
- ubuntu 14.04 LTS 右键菜单解压压缩包时出错
- php下关于Cannot use a scalar value as an array的解决办法
- 第4章 Python 数字图像处理(DIP) - 频率域滤波4 - 单变量的离散傅里叶变换DFT
- Android之Volley 源码解析
- proc编译手册_Expect 手册 中文版
- JS函数addEventListener的浏览器差异性封装
- CTF web题 wp:
- 晨哥真有料丨你喜欢人家啊,你追求人家。你到了什么地步就该放弃了?
- c语言中static 用法
- Jzoj5445【NOIP2017提高A组冲刺11.2】失格
- ASP.NET MVC 3和Razor中的@helper
- unity 罗技G29开发
- 计算机图形学 实验二 OpenGL简单动画
- 如何查看linux是grub还lilo,linux中LILO及GRUB配置实例
- 微信小程序图片(单图多图上传显示)
- 抢救DB2数据之终极工具:db2dart
- 性能篇 | 17 | jmeter | BeanShell内置变量prev的使用技巧
- 调用接口时报:Required String parameter '' is not present
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java课堂考勤管理系统t6x5x
- Spring Cache 注解详解