java实现电梯管理的方法(源程序)

来源:互联网 发布:strong to json 编辑:程序博客网 时间:2024/05/16 02:25
//方法lifterpackage com.hushi.elevator;public interface Lifter {public void goUp();public void goDown();}//类GoodElevator实现lifter方法 package com.hushi.elevator;public class GoodElevator implements Lifter{private boolean doorOpen;      private int floor;      private int weight;      final int CAPACITY=1000;;  //电梯的最大重量    final int TOP_FLOOR = 5;;  //电梯的最高层    final int BOTTOM_FLOOR = 1;;public void GoodElevarot(){ //构造函数,初始化  doorOpen=false;    floor = 1;    weight = 0;  }          public void openDoor()      {          doorOpen = true;      }            public void closeDoor()      {          checkWeightSensors();          if(weight<=CAPACITY)              doorOpen = false;          else  System.out.println("超重,门不能关!");     }            private void checkWeightSensors()      {          weight = (int)(Math.random()*1500);          System.out.println("当前乘客总重量是:"+weight+"公斤");      }        @Overridepublic void goUp() {  // TODO Auto-generated method stub   if(!doorOpen)           {               if(floor<TOP_FLOOR)               {                   floor++;                   System.out.println("电梯已上到第"+floor+"层");               }               else               System.out.println("电梯已在顶层,不能再上升");           }           else               System.out.println("电梯门未关,不能上升!");  }@Overridepublic void goDown() {  // TODO Auto-generated method stub   if(!doorOpen)           {               if(floor>BOTTOM_FLOOR)               {                   floor--;                   System.out.println("电梯已下到第"+floor+"层");               }               else                   System.out.println("电梯已在最底层,不能再下降");           }           else               System.out.println("电梯门未关,不能下降!");  }   public void setFloor(int goal)        {            if(goal>=BOTTOM_FLOOR&&goal<=TOP_FLOOR)            {                while(floor!=goal)                {                    if(floor<goal)                        goUp();                    else                        goDown();                }                System.out.println("电梯按要求停在第"+goal+"层");            }            else                System.out.println("没有第"+goal+"层");        }                public int getFloor()        {            return floor;        }                public boolean isOpen()        {            return doorOpen;        } }//主函数的实现package com.hushi.elevator;public class TestGoodElevator {  public static void main(String args[])       {     System.out.println("-------电梯测试开始-------");         GoodElevator e2 = new GoodElevator();           e2.openDoor();           e2.closeDoor();           e2.goUp();           e2.goUp();           e2.goDown();           System.out.println("电梯在第"+e2.getFloor()+"层");           e2.openDoor();           e2.closeDoor();           e2.goDown();           e2.openDoor();           e2.closeDoor();           e2.goDown();           e2.goDown();           if(e2.getFloor()!=5&&!e2.isOpen())           e2.setFloor(5);           e2.openDoor();           e2.closeDoor();           e2.setFloor(10);           System.out.println("-------电梯测试结束-------");       }  }运行结果如下所示:-------电梯测试开始-------当前乘客总重量是:371公斤电梯已上到第1层电梯已上到第2层电梯已下到第1层电梯在第1层当前乘客总重量是:978公斤电梯已在最底层,不能再下降当前乘客总重量是:1463公斤超重,门不能关!电梯门未关,不能下降!电梯门未关,不能下降!当前乘客总重量是:76公斤没有第10层-------电梯测试结束-------