input file( sends a message to the TicketArraysImpl object). Loop until the method returns a number other than 0, indicating the file was read( and that the ticket data array now has ticket data stored in it). Display a message to the user, that the program is calculating the fines. Define an array( to hold double fines), the same size as the array for ticket objects. Uses the TicketArraysImpl object to call: The instance method to calculate the fines and store them in the array The instance method to produce a fines report Execute the static method to display a ticket summary. Ask the user whether to run the program again, using a different input file. Loop until the user says s / he does not want to run the program again. Sample Run This program will run analyses on weekly speeding ticket data files Enter input filename: tickets Cannot open input file: tickets Enter input filename: tickets. txt Reading ticket data... Data stored for 3 tickets Calculating fines... Done! Enter name of report output file: report. txt Week ' s Ticket Analysis for 3 tickets issued: Lowest ticket fine 66.25 Average ticket fine 122.95 Highest ticket fine 215.10 Run program again with another file( y / n)? n WARNING: The objects, classes, and methods must be implemented exactly as specified above.