Suppose that Middlesex County College Airport has one runway, which each airplane takes landingTime minutes to land and takeOffTime minutes to take off, and that on the average, takeOffRate planes take off and landingRate planes land each hour.
Assume that the planes arrive at random instants of time. Delays make the assumption of randomness quite reasonable.
There are 2 types of queues: a queue of airplanes waiting to land AND a queue of airplanes waiting to take off.
Since it is more expensive to keep a plane airborne than to have one waiting on the ground, we assume that the airplanes in the landing queue have priority over those in the takeoff queue.
Write a Java program to simulate MCC Airport's operation. You might assume a simulated clock that advances in one-minute intervals. For each minute, generate 2 random numbers: If the first is less than landingRate/60, a "landing arrival" has occurred and is added to the landing queue; and if the second is less than takeOffRate/60, a takeoff arrival has occurred and is added to the takeoff queue.
Next, check whether the runway is free. If it is free, first check whether the landing queue is nonempty, and if so, allow the first airplane to land; otherwise, consider the takeoff queue.
Have the program calculate the average queue length and the average time that an airplane spends in a queue. You should also consider the effect of varying arrival and departure rates to simulate the prime and slack times of day, or what happens if the amount of time to land or take off is increased or decreased.
do an array-based implementation of a queue
Create a class ArrayQueue< T >
Create a class MCCAirport
//use a random generator
import java.util.Random;
Random generator = new Random(System.currentTimeMillis());
Print out the following: values should be 6 places to the right of the decimal
Average landing queue length:
Average take off queue length:
Average landing queue time:
Average take off queue time: