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

//方法lifter

package 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+"公斤");  
    }  
      

@Override
public 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("电梯门未关,不能上升!");  

}

@Override
public 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层
-------电梯测试结束-------


 



 


 

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值