【发布时间】:2014-11-13 16:14:14
【问题描述】:
我正在制定一个计划,以刺激机场的运营,即飞机降落和起飞的地方。降落飞机优先于起飞飞机,但它们是两个独立的队列。
飞机从队列中随机添加和删除。计算landingQueue 和takeOffQueue 的平均队列长度以及确定飞机在队列上花费多长时间的最佳方法是什么。
随机生成器 = new Random(System.currentTimeMillis());
ArrayQueue<Double> landingQueue = new ArrayQueue<>();
ArrayQueue<Double> takeOffQueue = new ArrayQueue<>();
ArrayQueue<Integer> averageLengthQueue = new ArrayQueue<>();
boolean runwayIsFree = false;
double mins = 0;
for(int i = 0; i < 1000; i += 60) {
double rand1 = generator.nextDouble();
double rand2 = generator.nextDouble();
if(rand1 < .16)
landingQueue.enqueue(rand1);
if(rand2 < .14)
takeOffQueue.enqueue(rand2);
if(mins == 0)
runwayIsFree = true;
if(runwayIsFree) {
if(!landingQueue.isEmpty()) {
landingQueue.dequeue();
mins = 3;
}
else if(!takeOffQueue.isEmpty()) {
takeOffQueue.dequeue();
mins = 2;
}
}
else
mins--;
}
【问题讨论】: