//Main.java
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Random;
public class Main{
static int m,n;
int time=0; //计时,判断人的出现时间
static int OVER=0; //判断所有的模拟结束,over表示结束的人数
DianTi E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,E10;
static DianTi d[]=new DianTi[10];
static People p[]=new People[1001]; //人的对象数组,
int t[]; //存放各个人出现的时间
int i=0; //创建人时,需要记录下已经出现的人数
public static void main(String args[]){
new Main();
}
public Main(){
Scanner in=new Scanner(System.in);
System.out.println("请输入电梯上乘客最大人数:");
DianTi.Max=in.nextInt(); //输入最大人数 Max 10-18
System.out.print("请输入产生的乘客人数:\n");
n=in.nextInt(); //n个人,在m分钟 n:0-1000,m:0-10分钟
System.out.print("请输入本模拟过程人出现的总时间:\n");
m=in.nextInt();
System.out.print("请输入电梯走一层所用的时间:\n");
DianTi.S=in.nextInt(); //电梯走的速度:每秒S层1-5
System.out.print("请输入每个人上下电梯的时间:\n");
People.T=in.nextInt(); //每个人上下电梯用时2-10s
System.out.println("信息如下:最大乘客量:"+DianTi.Max+";电梯的速度是:每层"+DianTi.S+"秒");
init();
time();
//System.out.println("OVER");
}
public void init(){ //初始化电梯和随机时间产生人
//分别创建是个电梯,初始化可以到达的楼层号
E0=new DianTi();
int k=0;
while(k==0){k=(int) (40*Math.random());}
E0.lev=k; //电梯初始状态为任意随机楼层
E1=new DianTi();
k=0;
while(k==0){k=(int) (40*Math.random());}
E1.lev=k;
E2=new DianTi();
E3=new DianTi();
for(int i=2;i<25;i++)
{ E2.a[0][i]=0;
E3.a[0][i]=0;
}
k=0;
while(k==0||(k>1&&k<25)){k=(int) (40*Math.random());}
E2.lev=k;
k=0;
while(k==0||(k>1&&k<25)){k=(int) (40*Math.random());}
E3.lev=k;
E4=new DianTi();
E5=new DianTi();
for(int i=26;i<41;i++)
{ E4.a[0][i]=0;
E5.a[0][i]=0;
}
k=0;
while(k==0||k>25){k=(int) (40*Math.random());}
E4.lev=k;
k=0;
while(k==0||k>25){k=(int) (40*Math.random());}
E5.lev=k;
E6=new DianTi();
E7=new DianTi();
for(int i=1;i<20;i++)
{
E6.a[0][2*i+1]=0;
E7.a[0][2*i+1]=0;
}
k=2*(int) (20*Math.random());
if(k==0)E6.lev=1;
else E6.lev=k;
k=2*(int) (20*Math.random());
if(k==0)E7.lev=1;
else E7.lev=k;
E8=new DianTi();
E9=new DianTi();
for(int i=1;i<=20;i++)
{ E8.a[0][2*i]=0;
E9.a[0][2*i]=0;
}
k=2*(int) (20*Math.random())+1;
E8.lev=k;
k=2*(int) (20*Math.random())+1;