导航:首页 > 编程语言 > java模拟电梯

java模拟电梯

发布时间:2023-08-19 20:37:00

‘壹’ java模拟实现两部电梯同时工作的高效算法

1. 各电梯控制:
a. 实现一个方法,返回本电梯到请求楼层上、下的时间(或者简单点的,层数);
b. 任务接受:接受用户楼层上、下请求任务

2. 主控部分:
a. 当用户按下上、下请求时,通过调用两个电梯的上面所说的服务,进行比较决断最优时间电梯;
b. 给最最优电梯发送任务;
3. 主控与各电梯控制之间的通讯可以通过多种方式实现;

‘贰’ 电梯编程都包括什么程序

电梯系统需要以下几个程序功能:
(1)处理电梯呼叫:乘客呼叫电梯、电梯按钮明灭、电梯控制器处理电梯呼叫、处理按钮信息更新等
(2)处理楼层呼叫:包括乘客选择楼层、楼层按钮明灭、电梯控制器处理楼层呼叫、处理按钮信息更新等
(3)移动停止电梯:包括驱动速度的改变、停止的判定、电梯的运动方向驱动
(4)标志移动方向:让乘客知道电梯目前运动方向、决定是否进入电梯
(5)标志电梯位置:让乘客知道乘客的目的层是否到达。决定是否离开电梯
(6)开关门:乘客进出电梯,电梯应该开关门。应包括电梯正关闭而乘客想进入时乘客可以使电梯门打开
(7)触发紧急处理器:电梯有安全机制确定一个不安全的状态不是瞬时产生的

‘叁’ 用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();
}

‘肆’ 4层电梯模拟程序--Java伪代码 急!!解决的再加分!

if(选择等于当前层打开门){
不做处理,直接返回
}
if(如果没人选就回到某一层){

}
if(如果电梯外选择){
到所选层
}
if(如果电梯内选择){
到所选层
}
if(如果电梯外选择和电梯外同时选择){
先到电梯内选择层
}
同时凡是经过的同方向的层,就销毁掉
到达电梯内选择的层数后就到电梯外选择的层数

....头很晕,不想说了,自己再看看把,这个很简单的,如果有问题你自己去坐电梯体会一下把.
可以把到电梯外和到电梯内的方法封装到时候调用的时候方便些,不说了,睡觉了.
我还没写完很多细节,自己想把

‘伍’ 电梯的工作程序代码用JAVA语言可以吗可以的话速求!

java 肯定可以,首先要解决虚拟机,就是电梯程序当中要有虚拟机运行,然后在虚拟机的基础上编写java程序去执行。

但是一般直接和硬件交互 一般用PLC

阅读全文

与java模拟电梯相关的资料

热点内容
脸部识别算法模型厂家 浏览:176
反编译的程序带注释吗 浏览:713
安装软件服务器未响应怎么解决 浏览:531
阀门开度单片机 浏览:568
python多线程有什么坑 浏览:681
程序员从互联网跳槽到银行里 浏览:242
百度网盘资源解压后暂不支持在线 浏览:220
android自动化环境 浏览:253
androidrealm加密 浏览:513
地图正在解压缩是什么意思 浏览:217
电脑软件能放在文件夹吗 浏览:786
uc服务器怎么打开 浏览:363
net怎么编译 浏览:244
我的世界187服务器地址ip 浏览:955
拍卖房价的算法 浏览:440
linux内核编译视频教程 浏览:883
程序员厚黑 浏览:210
如何在闲鱼淘二手安卓机 浏览:177
怎么下载晨星app 浏览:135
两台服务器如何同步内容 浏览:810