/** This class performs several simple traffic simulations. */ public class A9Simulation { /** Prints values of traffic counts and average waiting time that have been maintained by an A9Simulator @param sim the simulator */ public static void printResults(A9Simulator sim) { System.out.println("The total amount of N-S traffic was " + sim.getNSVehicleCount() + " vehicles"); System.out.println("The total amount of E-W traffic was " + sim.getEWVehicleCount() + " vehicles"); System.out.println("The total amount of traffic was " + sim.getVehicleCount() + " vehicles"); System.out.println("The average waiting time for N-S traffic was " + sim.computeAverageNSWaitingTime() + " seconds"); System.out.println("The average waiting time for E-W traffic was " + sim.computeAverageEWWaitingTime() + " seconds"); System.out.println("The average overall waiting time was " + sim.computeAverageWaitingTime() + " seconds"); } /** Performs several brief simulations using A9Simulator objects. @param args is ignored */ public static void main(String[] args) { A9Simulator sim = new A9Simulator(40, 50, 0.08, 0.10, 9); sim.simulate(1800); printResults(sim); System.out.println(); sim = new A9Simulator(40, 50, 0.08, 0.10, 9); sim.simulate(1800); printResults(sim); System.out.println(); sim = new A9Simulator(50, 40, 0.08, 0.10, 9); sim.simulate(1800); printResults(sim); System.out.println(); sim = new A9Simulator(50, 40, 0.08, 0.10, 99); sim.simulate(1800); printResults(sim); } }