Write a class that keeps track of the top five high scores that could be used for a video game. Internally, the class should store the top score in a data structure of your choice (the most straightforwar way is to use arrays). Each entry consists of a name and a score. The data stored in memory should be synchronized with a text file for persistent storage. For example, here are the contents of a sample file where Ronaldo has the highest score and Pele has the third highest score:
Ronaldo
10400
Didier
9800
Pele
9750
Kaka
8400
Cristiano
8000
The constructor should test if the file exists. If it does not exist, then the file should be created with blank names for each of the players and a score of 0. If the file does exist, then the data from the file should be read into the class’s instance variables. Along with appropriate constructors, accessors, and mutators, add the following methods:
• Void playerScore(String name, in score): Whenever a game is over, this method is called with the player’s name and final score. If the name is one of the top five, then it should be added to the list and the lowest score should be dropped out. If the score is not in the top five, then nothing happens.
• String[] getTopNames(): Returns an array of the names of the top players, with the top player first, the second best player second, etc.
• Int[] getTopScores(): Returns an array of the scores of the top players, with the highest score first, the second highest score second, etc.
Test your program with several calls to playerScore and print out the list of top names and scores to ensure that the correct values are stored. When the program is restarted, it should remember the top scores from the last session.