feat: move everything to single folder
This commit is contained in:
53
cs2030s/Lab1/ShopSimulation.java
Normal file
53
cs2030s/Lab1/ShopSimulation.java
Normal file
@@ -0,0 +1,53 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* This class implements a shop simulation.
|
||||
*
|
||||
* @author Yadunand Prem
|
||||
* @version CS2030S AY22/23 Semester 2
|
||||
*/
|
||||
class ShopSimulation extends Simulation {
|
||||
|
||||
/**
|
||||
* The list of customer arrival events to populate
|
||||
* the simulation with.
|
||||
*/
|
||||
private Event[] initEvents;
|
||||
|
||||
/**
|
||||
* Constructor for a shop simulation.
|
||||
*
|
||||
* @param sc A scanner to read the parameters from. The first
|
||||
* integer scanned is the number of customers; followed
|
||||
* by the number of service counters. Next is a
|
||||
* sequence of (arrival time, service time) pair, each
|
||||
* pair represents a customer.
|
||||
*/
|
||||
public ShopSimulation(Scanner sc) {
|
||||
initEvents = new Event[sc.nextInt()];
|
||||
int numOfCounters = sc.nextInt();
|
||||
int maxCounterQueueSize = sc.nextInt();
|
||||
int maxShopQueueSize = sc.nextInt();
|
||||
|
||||
Shop shop = new Shop(numOfCounters, maxShopQueueSize, maxCounterQueueSize);
|
||||
|
||||
int id = 0;
|
||||
while (sc.hasNextDouble()) {
|
||||
double arrivalTime = sc.nextDouble();
|
||||
double serviceTime = sc.nextDouble();
|
||||
initEvents[id] = new ArrivalEvent(new Customer(serviceTime, arrivalTime), shop);
|
||||
id += 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve an array of events to populate the
|
||||
* simulator with.
|
||||
*
|
||||
* @return An array of events for the simulator.
|
||||
*/
|
||||
@Override
|
||||
public Event[] getInitialEvents() {
|
||||
return initEvents;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user