2024-06-01 02:45:50 | 我爱编程网
按你的要求写了这个程序。试运行正常。
程序运行截图如下:
希望对你有帮助!
【百度知道】土堆上的石头
#include
void main()
{
int n=10,set,end,i;
printf("本电梯一共%d层。\n",n);
printf("请输入你所在的楼层:\n");
while(1)
{
scanf("%d",&set);
if(set>=1&&set<=n)
break;
printf("没有第%d层,请重新输入:\n",set);
}
printf("你现在在第%d层。\n",set);
printf("请选择:\n1.上行\n2.下行\n");
while(1)
{
scanf("%d",&i);
if(i>=1&&i<=2)
break;
printf("选择数字错误,请重新输入:\n");
}
if(i==1)
{
while(1)
{
printf("请输入你要去的楼层:\n");
scanf("%d",&end);
if(end>=1&&end<=n)
{
if(end>=set)
break;
else
printf("此为上行,请输入较高层的层数。\n");
}
else
printf("没有第%d层,请重新输入:\n",end);
}
printf("电梯上行中……\n");
for(i=set;i<=end;i++)
printf("现在到了第%d层。\n",i);
printf("第%d层已到!\n",end);
}
if(i==2)
{
while(1)
{
printf("请输入你要去的楼层:\n");
scanf("%d",&end);
if(end>=1&&end<=n)
{
if(end<=set)
break;
else
printf("此为下行,请输入较低层的层数。\n");
}
else
printf("没有第%d层,请重新输入:\n",end);
}
printf("电梯上行中……\n");
for(i=set;i>=end;i--)
printf("现在到了第%d层。\n",i);
printf("第%d层已到!\n",end);
}
}
最佳答案代码如下:
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();
}
我爱编程网(https://www.52biancheng.com)小编还为大家带来电梯运作管理系统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;
}
//简单的写几个函数作为参考,其他的要根据你自己的需求逐个添加
}
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-10 15:19:48
2025-01-28 17:58:32
2025-02-12 03:21:37
2024-11-22 05:08:01