你的位置:首页 > Java教程

[Java教程]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[5][4];//旅馆有五层,每层四个房间        for(int i=0; i < rooms.length; ++i){//外层for循环是循环层,内存循环是循环的每层的房间      for(int j=0; j < rooms[i].length; ++j){        if (i == 0 || i == 1) {          //后面加个空字符串,是自动数据类型转换,这样前面的数字会自动变成数字型字符串;          rooms[i][j] = new Room((i+1)*100+j+1 +"" , "标准间",false);        }        if (i == 2 || i == 3) {          rooms[i][j] = new Room((i+1)*100+j+1 +"" , "双人间",false);         }        if (i == 4) {          rooms[i][j] = new Room((i+1)*100+j+1 +"" , "豪华间",false);         }              }                }  }  //对外提供房间列表的打印方式  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(String no){    for(int i=0; i < rooms.length; ++i){      for(int j=0; j < rooms[i].length; ++j){        if (rooms[i][j].getNo().equals(no)) {          //把对象的成员数据封装,通过成员方法访问          //1 成员变量的访问方式rooms[i][j].no;          //2 成员方法的访问方式          rooms[i][j].setUse(true);          return;        }      }    }  }}

效果:

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

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