Supermarket Class :
private boolean newCustomer(){
double x = newArrival.nextDouble();
return (x < ARRIVAL_PROBABILITY);
-> method responsible for a arriving a customer at a random time.
boolean newCheckOutNeeded = true;
for (CheckOut co: checkOuts)
if(co.getQueueSize() < MAX_QUEUE_SIZE)
newCheckOutNeeded = false;
-> boolean method that check the size of the current queue and if it's needed it will open a new checkout
Customer class :
numberOfItems = (int)(rndm.nextGaussian()*STD_DEVN_NUMBER_OF_ITEMS) + MEAN_NUMBER_OF_ITEMS;
processingTime = numberOfItems * TIME_PER_ITEM;
-> Gaussian Generator which is being used to generate random number of items.
Checkout class :