听老师讲了一些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制作一个简单的酒店管理系统的更多相关文章

  1. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  2. 手把手制作一个简单的IDEA插件(环境搭建Demo篇)

    新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...

  3. 制作一个简单的WPF图片浏览器

    原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1.  对指定文件夹下所有JPG文件进行预览2.  对选定图片进行旋转3.  对选定图片 ...

  4. 自己制作一个简单的操作系统二[CherryOS]

    自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示 ...

  5. 实例学习SSIS(一)--制作一个简单的ETL包

    原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...

  6. TensorFlow练习13: 制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  7. 用java从0生成一个简单的excel

    用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...

  8. 如何使用AEditor制作一个简单的H5交互页demo

    转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...

  9. ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查

    接上一篇:ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码 1.实现UI端的增删改查 1.1添加增删改查代码 打开SimpleTaskSystem.sln解决方案,添加一个“包含视图的MV ...

随机推荐

  1. A Tour of Go Methods with pointer receivers

    Methods can be associated with a named type or a pointer to a named type. We just saw two Abs method ...

  2. nyoj 845 无主之地1

    无主之地1 时间限制:1000 ms  |  内存限制:65535 KB 难度:0   描述 子晓最近在玩无主之地1,他对这个游戏的评价不错,结合了FPS与RPG元素,可玩度很高.不过,他发现了一代的 ...

  3. [OC Foundation框架 - 3] 指向指针的指针

    使用函数改变NSString void changeStr2(NSString **str3) { *str3 = "; } int main(int argc, const char * ...

  4. js为select添加option

    <select id="shi"> function loadInfo(){ var shengId=document.getElementById("she ...

  5. XML操作之Linq to Xml

    需要引用的命名空间:   using System.Xml.Linq; 常用的类:XDocument.XElement.XAttribute 创建 XDocument对象. XDocument.Loa ...

  6. mysql数据库全局只读和会话只读问题解析

    对于系统的发布是经常有的事情,有些时候需要隔绝外界对数据库的更改但是还要求可以读取数据,对于mss sql 这个就是很简单,直接属性—>选项—>只读 ,但是对于mysql这是不同的,今天仔 ...

  7. C#-禁止调整窗体的大小

    要是想禁止调整窗体的大小,可以查看:FormBorderStyle属性,该属性的设置中有一个"FixedSingle"的选择项,它可以禁止调整窗体的大小.

  8. linux netlink套接字学习资料

    理论: http://blog.csdn.net/unbutun/article/details/3394061 进一步深入: http://edsionte.com/techblog/archive ...

  9. FloatingWindow

    https://github.com/dev0x10/android-bubble https://github.com/dev0x10/FloatingView https://github.com ...

  10. struts2学习笔记(5)---自己定义拦截器

    什么是拦截器? struts2中拦截器分为Struts2定义好的拦截器和自己定义的拦截器. 其作用是在一个Action运行之前进行拦截,在Action运行之后又增加某些操作. 实现原理 当请求一个Ac ...