Question: IN JAVA Implement a restaurant waiting list application with the following features/functionality: Inputs for guest name, and number of people in the party. Additionally, you
IN JAVA Implement a restaurant waiting list application with the following features/functionality:
Inputs for guest name, and number of people in the party. Additionally, you will generate a random
number to simulate the time the guest spent waiting for a table. To keep things simple, you may assume
wait times are whole minutes with a 1 minute minimum and 30 minute maximum. You will implement a
class called Customer to hold this information.
Develop controls to show the total time spent by all guests waiting. You will also compute and display the
average wait time for all guests.
Develop controls to show all guest names, number of persons in the party and time they spent waiting. You
will use the dequeue() method to retrieve each guests information from the queue. This feature is
intended more for test/debug purposes. Guests must display in a first-in-first-out (FIFO) order.
You will implement a Queue class that will contain all guests. It must have the classic queue operations of
enqueue() to place an item in the queue, dequeue() to remove an item from head of the queue, and first()
to view the item at the head of the queue but not remove it. You may use a linked list of your own design,
an array, the built-in Java Array List, or built-in Java Linked List as the underlying data structure. Your queue
must also have size() and isEmpty() methods.
Your Queue must implement the Queue interface. You will create a class called QueueInterface with the
queue methods above as abstract methods.
Your assignment will be graded based upon all tasks being performed and handed in with all required
documentation.
Pseudocode or flow chart that clearly outlines and details your application logic
[Define Inputs, Outputs, queueing mechanisms, algorithmic logic](10 points)
Properly running clock or simulated clock to show when a customer is properly
removed from the queue. (5 points)
Customer class: has properties as needed (constructors, getters, and setters)(10 points)
Queue Interface: has the classic queue operations as abstract methods(10 points)
Queue class: has properties as needed (constructors, getters, setters, enqueue,
dequeue, first)(10 points)
Java code is well written with proper formatting (brackets are lined up vertically, each
level of code is properly indented, each section of code is well documented, etc...)(5 points)
Properly running intuitive interface; clear instructions with well defined user interface
prompts. Program compiles, runs and produces valid output(10 points)
GUI Interface Extra Credit (including List Boxes for Queue and Dialog Boxes for Input)(10 points)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
