Java编撰ArrayBasic制作一个简单的酒店管理系统

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;
                }
            }
        }
    }
}

效果:

Java编撰ArrayBasic制作一个简单的酒店管理系统

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

Java编撰ArrayBasic制作一个简单的酒店管理系统

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

1楼方方和圆圆
我想一套总统套房, 开啊, 你开啊。。