听老师讲了一些ArrayBasic的一些知识,让制作一个酒店管理系统,要求:显示酒店所有房间列表,预订房间....

经过老师的指导写了一个代码,如下:

  1. import java.util.Scanner;
  2. public class a1{
  3. public static void main(String[] args){
  4. Scanner s = new Scanner(System.in);//接受客户键盘输入,在命令行中,回车结束
  5. System.out.println( "酒店管理系统" );
  6. Hotel h = new Hotel();
  7. System.out.println( h );
  8. h.print();
  9. while (true){
  10. System.out.println( "请输入房间编号" );
  11. //声明变量,用于接受控制台输入数据
  12. String no = s.next();
  13.  
  14. //预订房间
  15. h.order(no);
  16. h.print();
  17. }
  18. }
  19. }
  20. class Room{
  21. //房间号
  22. private String no;
  23. //房间类型
  24. private String type;
  25. //是否被占用
  26. private boolean isUse;
  27. public Room(){//默认调用
  28. super();
  29. }
  30. public Room(String no,String type,boolean isUse){
  31. super();
  32. this.no = no;
  33. this.type = type;
  34. this.isUse = isUse;
  35. }
  36. public String getNo(){
  37. return no;
  38. }
  39. public void setNo(String no){
  40. this.no = no;
  41. }
  42. public String getType(){
  43. return type;
  44. }
  45. public void setType(String type){
  46. this.type = type;
  47. }
  48. public boolean isUse(){
  49. return isUse;
  50. }
  51. public void setUse(boolean isUse){
  52. this.isUse = isUse;
  53. }
  54. public String toString(){ //声明输出结果格式
  55. return "[" + no + "," + type + "," + (isUse?"占用":"空闲") + "]";
  56. }
  57. }
  58. class Hotel{
  59. Room rooms[][];
  60. public Hotel(){
  61. rooms = new Room[][];//旅馆有五层,每层四个房间
  62. for(int i=; i < rooms.length; ++i){//外层for循环是循环层,内存循环是循环的每层的房间
  63. for(int j=; j < rooms[i].length; ++j){
  64. if (i == || i == ) {
  65. //后面加个空字符串,是自动数据类型转换,这样前面的数字会自动变成数字型字符串;
  66. rooms[i][j] = new Room((i+)*+j+ +"" , "标准间",false);
  67. }
  68.  
  69. if (i == || i == ) {
  70. rooms[i][j] = new Room((i+)*+j+ +"" , "双人间",false);
  71. }
  72.  
  73. if (i == ) {
  74. rooms[i][j] = new Room((i+)*+j+ +"" , "豪华间",false);
  75. }
  76.  
  77. }
  78.  
  79. }
  80. }
  81. //对外提供房间列表的打印方式
  82. public void print(){
  83. for(int i=; i < rooms.length; ++i){
  84. for(int j=; j < rooms[i].length; ++j){
  85. System.out.print( rooms[i][j] + " " );
  86. }
  87. //换行
  88. System.out.println( );
  89. }
  90. }
  91. //提供旅馆对外预定方式
  92. public void order(String no){
  93. for(int i=; i < rooms.length; ++i){
  94. for(int j=; j < rooms[i].length; ++j){
  95. if (rooms[i][j].getNo().equals(no)) {
  96. //把对象的成员数据封装,通过成员方法访问
  97. //1 成员变量的访问方式rooms[i][j].no;
  98. //2 成员方法的访问方式
  99. rooms[i][j].setUse(true);
  100. return;
  101. }
  102. }
  103. }
  104. }
  105. }

效果:

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

以上就是所有代码,请大家斧正!

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. light oj 1214 - Large Division

    1214 - Large Division   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB G ...

  2. 转载 DNS查询流程简介

    转载请注明出处:http://blog.csdn.net/luotuo44/article/details/45545059 DNS(domain name system),读者们或多或少都听过,就是 ...

  3. java properties 文件中书写相对路径

    工程src下的properties 文件要引用发布到D:\work\apache-tomcat-7.0.52\webapps\项目名称\certs这个地址下的文件,properties 中的文件路径应 ...

  4. 【STL源码学习】细品vector

    第一节:vector简介 vector是一种典型的类模板,使用的时候必须进行实例化. vector的数据存储在数组上,支持随机访问迭代器,支持下标操作[]和at操作,支持手动扩容和自动容量增长. ve ...

  5. C#抽象工厂模式的几种实现方法及比较

    C#抽象工厂模式的几种实现方法及比较 本文转自:http://hi.baidu.com/tufeivista/blog/item/2ca9702978dcc6fb99250a81.html 利用设计模 ...

  6. 自己写一个与startWith类似的判断方法

    package com.hanqi.lianxi; import java.util.Scanner; public class startWith {        //自己顶一个与startWit ...

  7. ECSHOP在线手册之布局参考图-首页 index.dwt

        A.logo替换 1,设置方法 后台商店设置里,上传logo就行,注意logo的名称必须是logo.gif 2,代码相关 page_header.lbi 中 <a href=" ...

  8. 实例:ABAP Tree Control 使用与ALV Grid对象关联

    Tree Control 是最常用的Windows控件之一,在其他语言中成为"Tree View"等,ABAP的 Tree Contiol 能实现类似的功能. 本文主要介绍一下内容 ...

  9. cocos2d-x 纹理研究

    转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...

  10. JFinal使用笔记1-部署demo项目到本地tomcat

    http://my.oschina.net/u/173975/blog/110261 尝试用JFinal开发个开源的社团管理系统,把开发过程中遇到的问题和解决办法记下来,以供参考. 部署jfinal_ ...