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

    效果:

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

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

  • 相关阅读:
    【连载】【FPGA黑金开发板】Verilog HDL那些事儿低级建模的基础实例(七)
    【连载】【黑金动力社区原创力作】《液晶驱动与GUI 基础教程》 第二章 颜色模型(三)
    更新 EVGA86 模块手册
    【连载】【FPGA黑金开发板】Verilog HDL那些事儿低级建模的基础(二)
    NIOS II JTAG UART通讯
    【连载】【FPGA黑金开发板】Verilog HDL那些事儿听听低级建模的故事(五)
    NIOS II LCD上面显示时间
    治疗Quartus绝症的方法
    【连载】【黑金动力社区原创力作】《液晶驱动与GUI 基础教程》 序言(一)
    《NIOSII那些事儿》REV6.0 最新版发布
  • 原文地址:https://www.cnblogs.com/wing411/p/4752887.html
Copyright © 2020-2023  润新知