zoukankan      html  css  js  c++  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;
                    }
                }
            }
        }
    }

    效果:

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

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

  • 相关阅读:
    luogu P4284 [SHOI2014]概率充电器 期望 概率 树形dp
    luogu P5161 WD与数列 SAM 线段树合并 启发式合并
    5.5 省选模拟赛 B Permutation 构造 贪心
    luogu P3761 [TJOI2017]城市 树的直径 bfs
    一本通 1783 矩阵填数 状压dp 容斥 计数
    CF R638 div2 F Phoenix and Memory 贪心 线段树 构造 Hall定理
    BSOJ 5445 -- 【2018雅礼】树 prufer序列 dp
    CF1037H Security 线段树合并 SAM
    c++11の顺序容器
    c++11の关联容器
  • 原文地址:https://www.cnblogs.com/wing411/p/4752887.html
Copyright © 2011-2022 走看看