Java编写ArrayBasic制作一个简单的酒店管理系统
听老师讲了一些ArrayBasic的一些知识,让制作一个酒店管理系统,要求:显示酒店所有房间列表,预订房间....
经过老师的指导写了一个代码,如下:
import java.util.Scanner;
public class a1{
public static void main(String[] args){
Scanner s = new Scanner(System.in);//接受客户键盘输入,在命令行中,回车结束
System.out.println( "酒店管理系统" );
Hotel h = new Hotel();
System.out.println( h );
h.print();
while (true){
System.out.println( "请输入房间编号" );
//声明变量,用于接受控制台输入数据
String no = s.next(); //预订房间
h.order(no);
h.print();
}
}
}
class Room{
//房间号
private String no;
//房间类型
private String type;
//是否被占用
private boolean isUse;
public Room(){//默认调用
super();
}
public Room(String no,String type,boolean isUse){
super();
this.no = no;
this.type = type;
this.isUse = isUse;
}
public String getNo(){
return no;
}
public void setNo(String no){
this.no = no;
}
public String getType(){
return type;
}
public void setType(String type){
this.type = type;
}
public boolean isUse(){
return isUse;
}
public void setUse(boolean isUse){
this.isUse = isUse;
}
public String toString(){ //声明输出结果格式
return "[" + no + "," + type + "," + (isUse?"占用":"空闲") + "]";
}
}
class Hotel{
Room rooms[][];
public Hotel(){
rooms = new Room[][];//旅馆有五层,每层四个房间
for(int i=; i < rooms.length; ++i){//外层for循环是循环层,内存循环是循环的每层的房间
for(int j=; j < rooms[i].length; ++j){
if (i == || i == ) {
//后面加个空字符串,是自动数据类型转换,这样前面的数字会自动变成数字型字符串;
rooms[i][j] = new Room((i+)*+j+ +"" , "标准间",false);
} if (i == || i == ) {
rooms[i][j] = new Room((i+)*+j+ +"" , "双人间",false);
} if (i == ) {
rooms[i][j] = new Room((i+)*+j+ +"" , "豪华间",false);
} } }
}
//对外提供房间列表的打印方式
public void print(){
for(int i=; i < rooms.length; ++i){
for(int j=; j < rooms[i].length; ++j){
System.out.print( rooms[i][j] + " " );
}
//换行
System.out.println( );
}
}
//提供旅馆对外预定方式
public void order(String no){
for(int i=; i < rooms.length; ++i){
for(int j=; j < rooms[i].length; ++j){
if (rooms[i][j].getNo().equals(no)) {
//把对象的成员数据封装,通过成员方法访问
//1 成员变量的访问方式rooms[i][j].no;
//2 成员方法的访问方式
rooms[i][j].setUse(true);
return;
}
}
}
}
}
效果:

因需要支持外部预定,用户输入房间号,选择五楼包场,效果如下:

以上就是所有代码,请大家斧正!
Java编写ArrayBasic制作一个简单的酒店管理系统的更多相关文章
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...
- 手把手制作一个简单的IDEA插件(环境搭建Demo篇)
新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...
- 制作一个简单的WPF图片浏览器
原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1. 对指定文件夹下所有JPG文件进行预览2. 对选定图片进行旋转3. 对选定图片 ...
- 自己制作一个简单的操作系统二[CherryOS]
自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示 ...
- 实例学习SSIS(一)--制作一个简单的ETL包
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...
- TensorFlow练习13: 制作一个简单的聊天机器人
现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...
- 用java从0生成一个简单的excel
用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...
- 如何使用AEditor制作一个简单的H5交互页demo
转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...
- ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
接上一篇:ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码 1.实现UI端的增删改查 1.1添加增删改查代码 打开SimpleTaskSystem.sln解决方案,添加一个“包含视图的MV ...
随机推荐
- 让asp.net web api同时支持[AcceptVerbs("GET","POST")]
在使用第三方接口时,有时候会看到接口同时支持GET和POST,当时想想webapi有AcceptVerbs特性,没有细想便想当然肯定会支持,后来项目中需要用到,当时在没有参数传入下确实支持,直到早几天 ...
- 针对 .NET 框架的安全编码指南
此主题尚未评级 - 评价此主题 发布日期 : 10/9/2004 | 更新日期 : 10/9/2004 Microsoft Corporation 适用于: Microsoft .NET 框架 摘 ...
- mysql之索引
一.索引是什么? 比如我们要在字典中找某一字,如何才能快速找到呢?那就是通过字典的目录. 对数据库来说,索引的作用就是给‘数据’加目录. 二.索引算法 设有N条随机记录,不用索引,平均查找N/2次,那 ...
- 05---JSON学习(Java)
一.简介 JSON:JavaScript对象表示法(JavaScript object Notation) JSON是存储和文本交换信息的语法 JSON ...
- 《RESTful Web Services》第二章 识别资源
引言:开放RESTful Web服务的首要步骤之一是设计资源模型. 2.1 如何从领域名词中识别资源 2.2 如何选择资源粒度 一些因素会影响数据库表和对象模型的设计,例如领域建模.需要高 ...
- Jenkins 安装与配置
1. 软件准备 a. 下载 jenkins.war:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins. 本文以 Jenkins 为演示版 ...
- 手把手教你使用UICollectionView写公司的项目
在很多app中都有这样通用的页面,一直没有机会使用UICollectionView,只是简单的看过他的使用方法.今天公司美工出图,使用了他,并且遇到了好多的坑.记录一下过程,不确定使用的方法是不是最优 ...
- app卡顿问题检测--KMCGeigerCounter
介绍: KMCGeigerCounter是一个iOS帧速计算器,像盖革计数器那样,当动画丢失一帧时它就记录一次.掉帧通常是不可见的,但是很难区分55fps和60fps之间的不同,而KMCGeigerC ...
- 修改UILabel的行间距
在iOS开发中 有时候为了调整一些UI效果 我们需要调整UILabel之间的行间距: contentLabel.text:label上显示的文字内容; 5:label行间距; contentLab ...
- 关于Spring的IOC和DI
原始调用模型 Spring的演化过程 Spring的调用过程 ======================================= IoC[理解][应用][重点] 1.IoC(Inversi ...