Question: JAVA homework. Please do not copy code from other answers and please follow the instruction. Thank you! Objective: Consider the scenario at a high school

JAVA homework. Please do not copy code from other answers and please follow the instruction.

Thank you!

JAVA homework. Please do not copy code from other answers and please

follow the instruction. Thank you! Objective: Consider the scenario at a high

Objective: Consider the scenario at a high school football ticket stand. Tickets for the games are sold at various times and have different prices depending on how early the ticket is purchased. In this programming assignment you will need to create four classes and a driver program. The parent class called Ticket should be an abstract class. Three classes, should extend the Ticket class and be called AdvanceBooking, CurrentBooking and DiscountBooking. Finally, create a test class called Driver. The rules for purchasing tickets are: CurrentBookings are for tickets purchased for games happening today. They cost $75 each AdvancedBookings are for tickets purchased for games happening in the future. If the game is less than 15 days in the future, tickets cost $50 each, if they are 15 or more days in the future, they cost $25 each. (Note - if the NoOfDays=0 the program transfers control to the CurrentBookings class. Finally, students can purchase discount tickets for $10, as long as they are for games at least 1 day in the future otherwise they are $75. Assignment Requirements: The Ticket abstract class is the parent class that all other classes will extend. This class holds all common operations such that the subclasses can implement the methods specified here. This class should have the following methods: A constructor which generates a ticket with a ticketNumber (Integer). The class should have a variable called nextTicketNumber which should be initialized to 1. When each ticket is created, they should be assigned the next integer regardless of the type of ticket. A getPrice() method which returns the ticket price (In ticket it is an abstract method) An override of the toString/toString method that prints the type of ticket, ticket number, and price of ticket. The CurrentBooking class is a subclass that allows for tickets to be purchased on the day of the game. When created, each ticket should be assigned the next ticket number, and have their price set to $75. The AdvanceBooking class is a subclass that represents tickets purchased in advance. In order to create an AdvancedBooking, the number of days till the game (numDays UntilGame - an integer variable) must be passed in at the time the ticket is created. Like CurrentBookings, AdvancedBookings will be assigned the next ticket number. If the game is 15 days or more in the future, the ticket will cost $25. If the game is in less than 15 days, the ticket will cost $50. The DiscountBooking class is a subclass that allows for students to purchase tickets in advance. In order to create a DiscountBooking object, the number of days until the game (numDaysUntilGame- an integer variable) must be passed in at the time the ticket is created. Like all other ticket types, the next ticket number will be assigned. If the game is today, the ticket price is the normal $75, however, if the game is any other day, it will cost $10. Driver Program The driver program should have a menu of options for a person to purchase and see tickets. The program should keep going until the user selects exit. The menu has the following options: 1. Sell a Ticket for a future gam 2. Sell a Ticket for today's game 3. Sell a Discount Ticket 4. Print All Tickets 5. Exit . All input/output statements should be in the driver program only. All tickets should have a unique ticket number. As tickets are created, regardless of which type of ticket they are, they should be stored in an arraylist. If option 2 or 3 are selected, you'll need to ask the user how many days in the future the game is. If option 4 is selected, it should print out all tickets which have been sold by simply calling print on the object name. As long as you successfully overrode toString/ToString it should print out a message including the ticket type, ticket number and price. Demonstrate polymorphism when creating the tickets and storing them in the ArrayList. Sample Output: Choose from the following: 1. Sell a Ticket for a future game 2. Sell a Ticket for today's game 3. Sell a Discount Ticket 4. Print All Tickets 5. Exit 1 How many days until the game? 16 You sold: Ticket number 1 with a price of $25 for a game in 16 days

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!