用java编一个电梯(二十楼)小程序怎么编?
- 提问者网友:暗中人
- 2021-04-24 10:30
- 五星知识达人网友:不如潦草
- 2021-04-24 11:54
这是我回答前几天和你一样想要的电梯程序
是单箱的 希望能帮助你
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层有人按 又该如何 自己试着去想一想解决方法
}
}