为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。
问题描述:
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。
1、该系统的用户是:酒店前台。
2、酒店使用一个二维数组来模拟。“Room[][] rooms;”
3、酒店中的每一个房间应该是一个java对象:Room
4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲.
5、系统应该对外提供的功能:
可以预定房间:用户输入房间编号,订房。
可以退房:用户输入房间编号,退房。
可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态。
问题分析:
定义Room和Hotel类,Hotel里面包含一个Room类的二维数组用来模拟每一个不同楼层的房间号。依次实现相应要求。
代码实现:
Room类:
public class Room {//房间编号private int no;//房间类型private String type;//房间状态,true表示可以被预定,false表示不可被预定private boolean status;public int getNo() {return no;}//构造方法public Room() {}public Room(int no, String type, boolean status) {this.no = no;this.type = type;this.status = status;}//封装public void setNo(int no) {this.no = no;}public String getType() {return type;}public void setType(String type) {this.type = type;}public boolean getStatus() {return status;}public void setStatus(boolean status) {this.status = status;}//toString方法重写@Overridepublic String toString() {return "[" + no + "," + type + "," + (status ? "可预订":"不可预定") + "]";}//equals方法重写@Overridepublic boolean equals(Object obj) {if(obj == null || !(obj instanceof Room)) return false;//传来的为空或不是Room类直接返回falseif (this == obj) return true;//如果内存地址一样,直接返回trueRoom r = (Room)obj;//强制类型转换return this.getNo() == r.getNo();}
Hotel类:
public class Hotel {private Room[][] rooms;//构造方法public Hotel() {//一共三层,一层单人间,二层双人间,三层豪华间//动态初始化rooms = new Room[3][10];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 if (i == 2) 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[i].length; j++) {System.out.print(rooms[i][j]);}System.out.println();}}//订房间方法public void order(int roomNo){//根据房间编号计算在数组中的坐标Room room = rooms[roomNo / 100 - 1][roomNo % 10 - 1];room.setStatus(false);System.out.println(roomNo + "已预订");}//退房public void exit(int roomNo){Room room = rooms[roomNo / 100 -1][roomNo % 10 - 1];room.setStatus(true);System.out.println(roomNo + "已退房");}
}
HotelMgtSystem类:
import java.util.Scanner;
public class HotelMgtSystem {public static void main(String[] args) {Hotel h = new Hotel();System.out.println("欢迎使用九点管理系统,请认真阅读以下使用说明:");System.out.println("请输入对应的功能编号:[1]表示查看房间状况;[2]表示订房;[3]表示退房;[0]表示退出");System.out.println("请输入功能编号:");while (true) {Scanner s = new Scanner(System.in);int i = s.nextInt();if (i == 1) {h.print();} else if (i == 2) {System.out.println("请输入要预定的房间编号:");Scanner n = new Scanner(System.in);int roomNo = n.nextInt();h.order(roomNo);} else if (i == 3) {System.out.println("请输入要退房的房间编号:");Scanner n = new Scanner(System.in);int roomNo = n.nextInt();h.exit(roomNo);} else if (i == 0) {System.out.println("欢迎下次光临");return;} else System.out.println("输入的功能编号有误,请重新输入:");}}
}
为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。相关推荐
- 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo
代码 房间类 package com.bjpowernode.javase.day23homework; //每一个房间Room应该有:房间编号.房间类型.房间是否空闲 public class Ro ...
- Java黑皮书课后题第2章:*2.20(金融应用:计算利息)编写程序,读取余额和年利率百分比,打印下个月的利息
*2.20(金融应用:计算利息)编写程序,读取余额和年利率百分比,打印下个月的利息 题目 题目概述 运行示例 题目槽点 代码/验证:居然不用考虑那么复杂 题目 题目概述 *2.20(金融应用:计算利息 ...
- 编写程序,实现判断用户输入的数是正书还是负数的功能。
实现判断用户输入的数是正书还是负数的功能. a = int(input('请输入一个整数或负数:')) if a > 0:print('你输入的是正数') elif a < 0:print ...
- c语言编写程序“输入任意一个年份和月份,打印当月日历。”
日常生活中我们所见到的日历如图所示: 代码思路: 1. 我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天. 2. 要想知道这个月是从星期几开始的,就得知道上一个月的最后一天 ...
- c语言:编写程序,把你的名和姓打印在一行,然后把名和姓各打印一行。
思路:print函数并注意\n的使用. #include<stdio.h> int main() {printf("Guang shu\n");printf(" ...
- 酒店订房退房管理系统(数组应用)
/*** 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能.* 1.该系统的用户是:酒店前台* 2.酒店使用一个二维数组来模拟.Room[][] rooms;* 3.酒店中的每 ...
- c语言大作业酒店管理系统,用C语言编写的酒店管理系统
#include #include #include int max=1;//用于计数用户登录 int room[5][5];//声明一个2维数组保留每个房间的入住 int jishi[5][5];/ ...
- 用c语言编写一个酒店点菜菜单,C课程设计报告酒店点菜管理系统设计.doc
C课程设计报告酒店点菜管理系统设计 PAGE C++面向对象课程设计报告 院(系): 专业: 学生姓名: 班级 学号: 题目: 酒店点菜管理系统设计_______ 起迄日期: _ 设计地点: 指 导 ...
- 酒店/度假村等客房管理系统实例源代码51aspx
1.选题背景 本课题来自金海湖度假村的实际业务需求.金海湖度假村是一家从事旅游休闲工作的私营性质的企业,金海湖度假村是以休闲.娱乐.度假与团队会务活动为主要业务的星级休闲度假场所,该假村现有市.区级民 ...
最新文章
- linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?
- NET插件系统之四——提升系统搜索插件和启动速度的思考
- block关键字的使用
- docker mysql映射端口映射_docker的简单操作和端口映射
- Android Ormlite 学习笔记1 -- 基础
- H.264边缘块进行帧内预测时,上边缘和左边缘块的预测情况。
- 程序员熬夜写代码,用C/C++打造一个安全的即时聊天系统
- android intent拍照,Android通过Intent方式调用相机拍照取得图片
- 雪花算法id长度_【Java】分布式自增ID算法雪花算法 (snowflake,Java版)
- mac电脑装java环境变量_Mac系统下安装jdk并配置环境变量的方法
- TListView列表拒绝添加重复信息
- UR+RealSense手眼标定(eye-to-hand)
- 06-函数参数和文档
- 京东自营客服初级考试
- contentprovider与resolver使用
- torch学习 (二十四):卷积神经网络之GoogleNet
- vmware缩写涵义
- KDD2022推荐系统论文集锦
- java ssm汽车销售管理系统
- Bugtags 远程配置功能介绍
热门文章
- 佟年计算机天才不会打游戏,韩商言为什么会自卑?来看看佟年的家境,难怪佟母看不上富二代...
- 浪涌/ESD的基础与对策零部件
- 2019年证券从业 证券市场基本法律法规(新大纲) 精讲班
- Android开发实例——倒计时器——Android多线程编程
- book_shop 实验十
- TokenGazer评级 | Bancor:经济模型架设具备创新 未来发展存在较多挑战
- pb使用记录 关于pbt、pbr、pbd
- mysql类似于excel的删除重复项_sql删除重复项并保留其中一条(含sql优化)
- 机器学习入门3--回归之正则化及评价指标
- *** glibc detected *** java: free(): invalid next size (fast): 0x00000000024b19d0 ***