听老师讲了一些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; } } } } }
效果:
因需要支持外部预定,用户输入房间号,选择五楼包场,效果如下:
以上就是所有代码,请大家斧正!