java设计电梯模拟系统的类结构

其中的类成员变量设为 private 就OK了。本人忘了加入。你可以自行加的。
可能不是很详细,你可以根据自己的想法,增加一些成员,方法的。
在这些类中,有些接口是自定义的,在此没有给出,望见谅!
有空多到我的空间走走,大家互相讨论一下。

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 电梯运行管理程序

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模拟电梯运行

你是要代码,还是?

⑤ java程序 电梯问题

先用j2se试试,==回复

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

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

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

⑦ 用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编一个电梯(二十楼)小程序怎么编

代码如下:

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面向对象中,如何写模仿电梯功能 代码块

开门,关门,点击楼层,报警呼救,四个方法,分别调用电梯生产商api