Question: Java Programming Assignment 7 Theme Parks and Threads Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is

Java Programming Assignment 7 Theme Parks and Threads

Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is waiting. Some companies invest in a lot of clever systems to help manage and control their lines more efficiently.

Now were going to create our own command station that uses threads to activate and track rider movement throughout a bustling amusement park.

Program Requirements:

Create a new class called ThemePark. Inside it, put your main program. This program will manage and monitor all the theme park rides in the park. ThemePark should extend Thread.

Create a new class called Amusement. This class should extend Thread. This class will have the following variables and methods to access them. (Remember to use proper Object-Oriented design in its creation):

o A ride type (e.g., Bumper Cars, Rollercoaster, Carousel)

o A waiting Queue (those waiting in line)

o A ride Queue (those actively riding the ride)

o A maximum capacity (controls how many people can ride)

o A ride duration (how long the ride takes)

o A running Boolean (is the ride running? True/false) initially set to false

Override the run() function inside your Amusement class. This function should do the following:

o Set the running state to true

o Sleep for x seconds (where x is the rides duration)

o When finished, set the running state to false

Inside ThemePark, instantiate five Amusement objects. Assign each Amusement a type, capacity, and duration. Put the capacity at around 2060 riders at one time

o Create a new Queue called attendees. Fill this with unique numbers from 11000

o Start each of the Amusement threads. Have ThemePark check every second on the running status of each Amusement. If an Amusement is not running, first put all of the riders in the Amusements ride Queue into the attendees Queue. Put the maximum number of riders from the rides waiting Queue into the ride Queue. Finally, take a set number of riders from the attendees Queue and place them in the Amusements waiting Queue.

Note: here is a diagram to help you make sense of the flow of riders into the various Queues:

Java Programming Assignment 7 Theme Parks and Threads Amusement parks are a

If the user types END, stop all of the threads and place the riders back into the attendees Queue. Then exit the program.

Include appropriate comments throughout your code.

Amusement 1 Waiting Riding Capacity: 30 Attendees Amusement 2 Waiting Riding Capacity: 40 Amusement 1 Waiting Riding Capacity: 30 Attendees Amusement 2 Waiting Riding Capacity: 40

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!