电梯java
⑴ 电梯运作管理系统1:电梯两部(A和B),内有15个按钮。 2:大厦共15层,每层楼有上、下按钮。用java该怎么设
public class Elevator { //电梯类
private int totalFloors = 0;
private int curFloor = 0; //电梯所在当前的楼层,一共15层
private boolean upButtonPressed = false; //是否按下向上得按钮
private boolean downButtonPressed = false; //是否按下向下得按钮
public void setTotalFloors () {
//设置总共多少层
}
//设置当前层的函数
public void setCurFloor (int f) {
{
//这里先判断输入的f是否越界(越过1 - 15层)
}
this.curFloor = f;
}
//简单的写几个函数作为参考,其他的要根据你自己的需求逐个添加
}
⑵ java模拟实现两部电梯同时工作的高效算法
1. 各电梯控制:
a. 实现一个方法,返回本电梯到请求楼层上、下的时间(或者简单点的,层数);
b. 任务接受:接受用户楼层上、下请求任务
2. 主控部分:
a. 当用户按下上、下请求时,通过调用两个电梯的上面所说的服务,进行比较决断最优时间电梯;
b. 给最最优电梯发送任务;
3. 主控与各电梯控制之间的通讯可以通过多种方式实现;
⑶ java模拟电梯运行
你是要代码,还是?
⑷ 用Java编写程序,设计一个模拟电梯运行的类
最佳答案代码如下:
public class ElevatorModel implenent ElevatorModelListener{
ElevatorShaft elevatorShaft;//电梯车箱
Floor firstFloor;
Floor secondFloor;
public void addPerson(Person person);
//实现ElevatorModelListener接口的所有方法
}
public abstract class Location{
String locationName;//可能占据的三个位置firstFloor; secondFloor;elevator中的其中一个位置。
public Button getButton();
public Door getDoor();
}
public class Floor extends Location{
public Floor(String firstFloor,String secondFloor);
public Button getButton();//具体实现
public Door getDoor();//具体实现
public ElevatorShaft getElevatorShaft();
}
public class Door implenent ElevatorMoveListener{
boolean open;//门是开的关的
public void openDoor();//开门
public viod clossDoor();//关门
}
public class Button implenent ElevatorMoveListener{
boolean pressed;
public void pressButton();//按下按钮
public void resetButton();//释放按钮
public void elevatorArrived();//电梯到来
}
public class ElevatorShaft{//电梯乘箱
Elevator elevator;//电梯
Button firstFloorButton,secondFloorButton;//出发层的按钮和到达层的按钮 Door firstFloorDoor,secondFloorDoor;//出发的门和到达的门
Light firstFloorLight,secondFloorLight;//灯
//监听器
DoorListener doorListener;
ButtonListener buttonListener;
LightListener ligthListener;
BellListener bellListener;
ElevatorMoveListener elevatorMoveListener;
Set set;
}
public class Light implenent ElevatorMoveListener{
boolean lightOn;//代表灯的状态,亮或灭
public void turnOnLight();
public void turnOffLight();
public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}
public class Bell implenent ElevatorMoveListener{
public void ringBell();
public void elevatorDeparted();//具体实现
public void elevatorArrived();//具体实现
}
public class Elevator extends Location implenets
ButtonListener,DoorListener,BellListener,Runable
{//电梯乘箱
boolean moving;
boolean summoned;//描述Elevator是在移动还是已经补召唤
Floor currentFloor;//当前正在提供服务的Floor
Floor destinationFloor ; //代表将要到达的Floor
Button elevatorButton;
Door elevatorDoor;
Bell bell;
public void run();// 实现
public void requestElevator();//请求Elevator并产生排队请求。 }
public class Person extends Thread{
Location类对象(或是位于Floor上,或是出处在Elevator中); int ID;
boolean moving;
public void run();//具体实现
public void enterAndRideElevator();
}
⑸ Java版咋样粘液块电梯
粘性活塞和黏液块的摆放,将粘性活塞放在黏液块的侧面和下面,即可推动Java版黏液块电梯。
⑹ 电梯的工作程序代码用JAVA语言可以吗可以的话速求!
java 肯定可以,首先要解决虚拟机,就是电梯程序当中要有虚拟机运行,然后在虚拟机的基础上编写java程序去执行。
但是一般直接和硬件交互 一般用PLC
⑺ java 怎样实现让电梯空闲超过一定时间自动返回一楼
可以多线程做。
电梯是临界资源,使用wait(time)进入挂起状态,超过time之后回到一楼。
如果期间被notify,则执行其他操作。
⑻ JAVA 电梯运行管理程序
public static void main(String[] args) {
/*Lianxi1 lx = new Lianxi1();
lx.method();*/
boolean flag = new Lianxi1().byLift();
if(flag == true){
System.out.println("没有地下室 开门");
}else
System.out.println("关门");
}
public boolean byLift(){
Random ran = new Random();
int num = Math.abs(ran.nextInt(1000));//总承受的重量
Random ran1 = new Random();
int floor = Math.abs(ran1.nextInt(5));//楼层数 1-5随机
switch (num){
case 1000:
System.out.println("超重,发出警报 无法关门");
break;
default:
System.out.println("电梯关门");
break;
}
//选择楼层 1-5返回true 关门
switch (floor) {
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
default:
return false;
}
}
⑼ 用java编一个电梯(二十楼)小程序怎么编
这是我回答前几天和你一样想要的电梯程序 是单箱的 希望能帮助你 package bean; public class dianti { int on=1;//定义一个初始化楼层 初始化是在1层 //先从简单的开始 我们先写两个方法 一个是在电梯外面方法 一个是在电梯内部的方法 public void wai(int num)//外部方法 { if(num==this.on) { System.out.println("停留在本层 直接开门"); } else if(num>this.on) { Thread th = new Thread(); for(int i=this.on;i<=num;i++) { if(i==num) { System.out.println("电梯到达~开门请进···"); this.on=num; } else { System.out.println("电梯在"+i+"层 马上就到,请等待····"); try { th.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else if(num>0&&num<this.on) { System.out.println("进来了" +num+" "+this.on); Thread th1 = new Thread(); for(int u=this.on;u>=num;u--) { if(u==num) { System.out.println("电梯到达~开门请进···"); this.on=num; } else { System.out.println("电梯在"+u+"层 马上就到,请等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else { System.out.println("1111111111111"); } } //内部方法 public void nei(int num) { System.out.println("进来了~当前楼层是"+this.on+" 我们的目标是"+num+"层"); if(num==this.on) { System.out.println("您就在本层 开门"); } else if(num>0&&num<11&&num<this.on) { for(int y=this.on;y>=num;y--) { Thread th1 = new Thread(); if(y==num) { System.out.println("电梯到达~欢迎下次在做···"); this.on=num; } else { System.out.println("电梯在"+y+"层 马上就到,请等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else if(num>0&&num<11&&num>this.on) { for(int y=this.on;y<=num;y++) { Thread th1 = new Thread(); if(y==num) { System.out.println("电梯到达~欢迎下次在做····"); this.on=num; } else { System.out.println("电梯在"+y+"层 马上就到,请等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } } public static void main(String[] args) { dianti d = new dianti(); //模拟开始 初始化是1层 首先我们去10层 d.wai(1);//传进去的1表示我们是在1层按电梯准备上 d.nei(10);//表示电梯到了 我们选择了10层开始上升 现在电梯停留在10层 d.wai(5);//在电梯还在10层停留的时候 5层有人使用 d.nei(1);//目标是一层 //这个其实不完整 还需要加上很多判断的 必然经过每层的时候判断是否有顺路下的 //还有就是电梯在上升的时候经过了2层到了3层 此时2层有人按 又该如何 自己试着去想一想解决方法 } }
⑽ 使用java语言如何编写电梯程序
推荐你使用PLC编电梯程序,PLC能保证不死机.计算机就不能了,人命关天.一但计算机让电机干扰了,要死人的.