用Java编写程序,设计一个模拟电梯运行的类

Python026

用Java编写程序,设计一个模拟电梯运行的类,第1张

最佳答案代码如下:

public class ElevatorModel implenent ElevatorModelListener{

ElevatorShaft elevatorShaft//电梯车箱

Floor firstFloor

Floor secondFloor

public void addPerson(Person person)

//实现ElevatorModelListener接口的所有方法

}

public abstract class Location{

String locationName//可能占据的三个位置firstFloorsecondFloorelevator中的其中一个位置。

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()

}

1. 各电梯控制:

a. 实现一个方法,返回本电梯到请求楼层上、下的时间(或者简单点的,层数);

b. 任务接受:接受用户楼层上、下请求任务

2. 主控部分:

a. 当用户按下上、下请求时,通过调用两个电梯的上面所说的服务,进行比较决断最优时间电梯;

b. 给最最优电梯发送任务;

3. 主控与各电梯控制之间的通讯可以通过多种方式实现;

楼上两位正解

JAVA与C的本质区别是JAVA面向对象编程,C是面向过程编程,这就使得JAVA具有重用的特性,在开发速度上比之C更快,但是在运行速度上却是C更快,因为C属于底层语言,它比JAVA更加亲近机器,所以在许多系统开发上一般是用C语言,比如我们常用的XP系统,LINUX系统,都是C语言开发的.

JAVA现在主要用在WEB开发,手机游戏及一些平台游戏的开发,因为它具有很好的跨平台性,现在在JAVA与LINUX结合的非常好,在手机等各种电子产品上应用非常广泛.不过现在大多人都学习JAVA的WEB编程,因为这个比较简单实用,就业更快.

C语言现在主要用与系统开发,桌面应用软件的开发,更多的是用在游戏领域,当然,只要你愿意,也可以开发WEB程序,但是在开发难度上会增加不少.这些足以证明C语言是比JAVA更强大的语言,但是也比JAVA更加难以掌握,里面的指针是所有程序员都为之头痛的,而继承了C的所有优点的JAVA语言则完全没有这个问题,可以说JAVA是C语言的进化版本之一,为什么是之一呢,因为还有C++,其实JAVA就是继承了C/C++的优点而产生的高级语言,它可以说具有两者的全部优点,并祛除了其中不好的地方,但即使如此也不能否认C/C++仍然具有强大的优势,尤其是在系统程序的开发上,这是JAVA无法比拟的.

所以JAVA能做的C也可以做,而C能做的JAVA也可以做,只是两者的侧重点不一样.