Comp 182 Fall 2020 Project 3
Problem: Determine the amount of customer delay when there
are n check-out lines.
Requirements: You must submit the following Java classes to
Canvas as specified in this document.
public
class Person{//corresponds to a customer
int
arrivalTime;
int
departureTime;
int
processing Time;
}
public
class Event{//corresponds to either an arrival or departure
String type; //can be “arrival” or “departure”
int time;//if “arrival”, this will be the arrival
time of a job; if “departure”, //this will be the departure time of a job
int param; if “arrival”, this will be the processing
time of a job; if //“departure”, this will be the checkout line that had a
departure event
}
public
class PersonQueue{
int totalTime; //the sum of all processing times in
this queue
//can use any structure
//because this is a queue, you will need enqueue(),
dequeue(), isEmpty()
}
public
class EventPQueue{
//because this is a priority queue, you will need
enqueue(), dequeue(), isEmpty()
}
public
class Store{
PersonQueue[] mypq;
EventPQueue myeq;
int numberOfQueues;//optional
int totalDelay;//optional
// will probably need an add method that adds a
Person to the PersonQueue with the
//least number of people
//will probably need a remove method that removes a
person from a PersonQueue who //has finished the checkout process
}
public
class Driver{
//contains the main method
//allows the user to provide the following
parameters (a)number of check out //lines, (b) number of persons/customers, (c)
min and max time between person //arrivals, (d) min and //max processing time
for a person
//during run time, the time between arrivals and
processing times will be randomly //selected within the user defined ranges
}
You may add methods and additional fields as you see fit.
Sample Output:
Welcome
to Job Simulator
How
many queues do you want to simulate?
>
2
How
many customers do you want to simulate?
>
5
What
is the minimum time between job arrivals?
>
2
What
is the maximum time between job arrivals?
>
5
What
is the minimum processing time for a job?
>
6
What
is the maximum processing time for a job?
>
8
Time Activity
0 Customer Arrives (processing time
7) – Customer Joins Queue 1
2 Customer Arrives (processing time
8) – Customer Joins Queue 2
5 Customer Arrives (processing time
8) – Customer Joins Queue 1
7 Customer Departs Queue 1
9 Customer Arrives (processing time
8) – Customer Joins Queue 1
10 Customer Departs Queue 2
12 Customer Arrives (processing time 6)
– Customer Joins Queue 2
15 Customer Departs Queue 1
18 Customer Departs Queue 2
23 Customer Departs Queue 1
Total
Delay: 8
Get Free Quote!
398 Experts Online