The results from the mayor’s race have been reported by each precinct and you are to design and write a class called VotingResults to tabulate and display results. It should have at least the following methods:
A method displayReport to print out the table of votes as seen below.
A method displayTotals to compute and print the total number of votes received by each candidate.
A method displayWinner to determine the winning candidate, if any. If a candidate received over 50% of the votes, the method should print a message declaring that candidate is the winner. If no candidate received over 50% of the votes, the program should print a message declaring that a run-off must occur.
A constructor that takes a data file (as a Scanner object) filled with data to use for the class variables. It invokes computeTotals, which computes the total votes per candidate (so displayWinner will have accurate results).
The data is set up as follows:
First line of data – the number of candidates and number of precincts
Then one candidate name (one String) per line
Next bunch of lines of data – integers with number of votes for each candidate per precinct respectively
Sample data:
4 5
ANDERSON
BAKER
JONES
WHITE
192 147 186 114 267
48 90 12 21 13
206 312 121 408 382
37 21 38 39 29
Sample output from some client program invoking displayReport, displayTotals, and displayWinner:
PRECINCT ANDERSON BAKER JONES WHITE
1 192 48 206 37
2 147 90 312 21
3 186 12 121 38
4 114 21 408 39
5 267 13 382 29
TOTALS 906 184 1429 164
THE WINNER IS JONES
Start writing this class by determining the necessary instance variables. Then write the constructor. Finally, write the other methods.