A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

4.Elevator类[code=java]package cn.zjc.test.elevator;

import java.util.HashMap;

/**
* 这是一个电梯类
* */
public class Elevator implements Runnable {
        private  String name = null;  //电梯的名称
        private boolean isStart = false;  //是否开始运行
        private boolean isStop = false;  //是否停止运行
        public static final int MAX_WIEGH = 1500;  //最大承载重量
        private int presentWiegh;  //当前所承载的重量
        private int presentLayer = 1;  //当前所在的楼层
        private int presentDirection = 0;   //当前运行的方向
        //以下四个集合用做记录需要服务的楼层相关信息
        private HashMap<Integer, String> upElevatorYes;  //向上  顺道
        private HashMap<Integer, String> upElevatorNo;  //向上  不顺道
        private HashMap<Integer, String> downElevatorYes;  //向下 顺道  
        private HashMap<Integer, String> downElevatorNo;  //向下  不顺道
        /**
         * 构造函数
         * */
        public Elevator(){ }
        /**
         * 构造函数
         * @param String name
         * */
        public Elevator(String name){
                this.name = name;
        }
        /**
         * 开启电梯
         * */
        public boolean start(){
                System.out.println("设置开始");
                boolean boo = false;
                boo = connectPower();  //接通电梯的电源
                this.isStart = true;
                this.isStop = false;
                return boo;
        }
        /**
         * 关闭电梯
         * */
        public boolean stop(){
                System.out.println("设置停止");
                boolean boo = false;
                boo = resetPower();  //断开电梯的电源
                this.isStop = true;
                this.isStart = false;
                return boo;
        }
        /**
         * 接通电源
         * */
        public boolean connectPower(){
                //假设电源已经没有问题
                return true;
        }
        /**
         * 关闭电源
         * */
        public boolean resetPower(){
                //假设电源已经成功关闭掉了
                return true;
        }
        /**
         * 电梯设置为开启状态
         * */
        public void setIsStart(){
                System.out.println("设置开始");
                this.isStart = true;
                this.isStop = false;
        }
        /**
         * 获得电梯是否为开启状态
         * */
        public boolean getIsStart(){
                return isStart;
        }
        /**
         * 电梯设置为停止状态
         * */
        public void setIsStop(){
                System.out.println("设置停止");
                this.isStop = true;
                this.isStart = false;
        }
        /**
         * 获得电梯是否为停止状态
         * @return boolean
         * */
        public boolean getIsStop(){
                return isStop;
        }
        /**
         * 打开电梯门
         * */
        public boolean open(){
                boolean boo = false;
               
                return boo;
        }
        /**
         * 关闭电梯门
         * */
        public boolean close(){
                boolean boo = false;
               
                return boo;               
        }
        /**
         * 判断电梯是否为打开状态
         * */
        public boolean isOpen(){
                boolean boo = false;
               
                return boo;
        }        
        /**
         * 判断电梯是否为打开状态
         * */
        public boolean isClosed(){
                boolean boo = false;
               
                return boo;
        }
        /**
         * 获得当前电梯所在的层数
         * */
        public int getPresent(){
                return presentLayer;
        }
        /**
         * 设置电梯的名称
         * */
        public void setName(String name){
                this.name = name;
        }
        /**
         * 获得电梯的名称
         * */
        public String getName(){
                return name;
        }
        /**
         * 设置当前电梯承载的重量
         * */
        public void setPresentWiegh(int presentWiegh){
                this.presentWiegh = presentWiegh;
        }
        /**
         * 获得当前电梯承载的重量
         * */
        public int getPresentWiegh(){
                return presentWiegh;
        }
        /**
         * 设置当前电梯运行的方向
         * */
        public void setPresentDirection(int presentDirection){
                this.presentDirection = presentDirection;
        }
        /**
         * 获得当前电梯运行的方向
         * */
        public int getPresentDirection(){
                return presentDirection;
        }
        /**
         *   操作记录信息的集合,根据方向、是否顺道 将请求服务的楼层存入相应的集合中
         *   @param layer :楼层   
         *   @param index :标识  0.上  1.下
         *   
         *   
         * */
        public boolean setElevator(int layer,int index){
                boolean boo = false;
                /*
                 * 1.判断是否超重
                 * 2.判断是否顺道
                 *
                 * */
                return boo;
        }
        /**
         * 如果当前重量与规定重量之间相差小于 50kg 的时候,在此期间,电梯将不在提供继续为其他顺道的乘客提供服务
         * 并且通知顺道的乘客,目前为满载状态,需要等待
        */
        public boolean isOverLoad(){
                boolean boo = false;
                //如果超重  boo = true
                return boo;
        }
        //打开电梯 ,在本次关闭上电梯门之前需要检查是否超重
        public void setOpen(){
               
        }
        //关闭电梯 ,
        public void setClose(){
               
        }
        /**
         * 线程运行方法
         * */
        public void run() {
                System.out.println("Elevator run invoke!");               
                while(true){
                        
                        try {
                                Thread.sleep(1000);
                        } catch (InterruptedException e) {
                                e.printStackTrace();
                        }
                        if(isStart){
                                System.out.println("正在启动着");
                                upElevatorYes = new HashMap<Integer, String>();
                                upElevatorNo = new HashMap<Integer, String>();
                                downElevatorYes = new HashMap<Integer, String>();
                                downElevatorNo = new HashMap<Integer, String>();
                                
                        }
                        else
                                return;                        
                }               
        }
        /**
         * 向上
         * @param index(int):楼层
         * */
        public boolean up(int index){
                boolean boo = false;
               
                return boo;
        }
        /**
         * 向下
         * @param index(int):楼层
         * */
        public boolean down(int index){
                boolean boo = false;
               
                return boo;
        }
        
}[/code]
由于字数受限,请继续浏览(三)

评分

参与人数 1技术分 +2 收起 理由
admin + 2 谢谢分享!

查看全部评分

2 个回复

倒序浏览
黑马网友  发表于 2011-8-1 20:40:08
沙发

回复 楼主 的帖子

:lol 咱先顶一个
回复 使用道具 举报
黑马网友  发表于 2011-8-2 15:34:39
藤椅
那下来参考以下,学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马