Suppose you are commissioned by the Australian Football Association (AFL) to write a program designed to produce statistics based on complete scores recorded in a season. These scores are kept in a file called afl.txt (available on interact resources). You are also given the following information about a football season:
- League consists of 18 football teams
- There are 22 rounds in each season
- In each round teams play against each other and the score of each team is recorded as an integer and kept in the text file referred to above ( aft.txt )
Your task is to write a complete java program(a java class with the main method) called ProcessScores,which will read the scores from the text file provided, store the scores in an array of integers andthen using a number of independentstatic methods, calculate and display the required statistics relating the afl scores.
The java class you are required to author will contain the following static methods:
- lowest will take the array of scores as an argument and return the lowest score in the season
- highest will take the array of scores as an argument and return the highest score in the season
- range will take the array of scores as an argument and return the difference between the highest score and the lowest score in the season
- average will take the array of scores as an argument and return the average of all scores in the season
- median will take the array of scores as an argument and return the median score in the season
- mode will take the array of scores as an argument and return the mode of the scores in the season
Note that all of the methods described above, should be static methods; user defined methods (you have the write the definition of each yourself); and completely independent of each other (you should not invoke anyone of them within the other method definition). Also, the original array of scores should not be modified by any of the methods.
Ensure that the program is appropriately documented throughout and thoroughly tested to demonstrate its correct operation.
Task 2, Value: 8 marks
Design a class named Event to represent a social event such as a concert, a soccer match, tennis match or a cricket match. The class should contain the following characteristics:
- Three integer constants named PENDING, ON, and DONE with the values 1, 2, and 3 to denote the status of the event
- Another three integer constants named LOW, MEDIUM, and HIGH with the values 1, 2, and 3 to denote the popularity of the event
- A private string data field named title that specifies the exact name of the event being held (eg. unknown, Arsenal vs Liverpool, India vs Sri Lanka, Nadal vs Federer), having a default value of unknown
- A private string data field named category that specifies the type of the event being held (eg. concert, soccer, tennis, cricket etc.) having a default value of soccer
- A private int data field named status that specifies whether the event is pending (not started yet), on (being played or presented) or done, (completed), having a default value of PENDING
- A private int data field named popularity that specifies how popular a particular event is, having a default value of HIGH
- The accessor (getter) and mutator (setter) methods for all three data fields (title, category, status and popularity) to facilitate access for reading and setting field values
- A default constructor designed to initialise the fields of a new event object to default values as specified above
- An overloaded constructor designed to initialise the fields of a new event object to specific values it receives as arguments
- A method named toString() that returns a string representation of an event object
Draw the UML diagram for the class.
Write a test program TestEvent that creates at least three Event objects of various properties. Test all of the methods given in the Event class definition.
Ensure that both classes are appropriately documented throughout.