Suppose you are counting ballots in an election for Supreme (Yet Somehow Democra
ID: 3539792 • Letter: S
Question
Suppose you are counting ballots in an election for Supreme (Yet Somehow Democratically Elected) Ruler of the Universe. Assume you have 1,000 candidates in all, each of whom is assigned a unique ID number from 0 to 999. Write a program that processes a set of ballots. The program should run by allowing the user to enter ID number of the selected candidate on each ballot. The user should be able to do this for as many ballots as needed, until entering a negative sentinel value to exit. Upon exiting, display a list of the candidates' ID numbers and their number of votes received, but only if the candidate recieved at least one vote.
Include error checking to ensure that the user can't type in an ID number above 999. Below is an example of what your program might look like while running.
Example program run for voting problem:
Enter candidate's ID number (0-999, any negative number to exit):123
Enter candidate's ID number (0-999, any negative number to exit):0
Enter candidate's ID number (0-999, any negative number to exit):123
Enter candidate's ID number (0-999, any negative number to exit):5
Enter candidate's ID number (0-999, any negative number to exit):662
Enter candidate's ID number (0-999, any negative number to exit):2342
Invalid ID number!
Enter candidate's ID number (0-999, any negative number to exit):121
Enter candidate's ID number (0-999, any negative number to exit):5
Enter candidate's ID number (0-999, any negative number to exit):123
Enter candidate's ID number (0-999, any negative number to exit):7
Enter candidate's ID number (0-999, any negative number to exit):1000
Invalid ID number!
Enter candidate's ID number (0-999, any negative number to exit):12
Enter candidate's ID number (0-999, any negative number to exit):-1
Election Results:
Candidate 0: 1 vote(s)
Candidate 5: 2 vote(s)
Candidate 7: 1 vote(s)
Candidate 12: 1 vote(s)
Candidate 121: 1 vote(s)
Candidate 123: 3 vote(s)
Candidate 662: 1 vote(s)
Explanation / Answer
package election;
import java.util.Scanner;
public class Election {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int candidateID = 0;
int[] poll = new int[1000];
while(candidateID != -1){
System.out.println("Enter candidate's ID number (0-999, any negative number to exit):");
candidateID = sc.nextInt();
if(candidateID < 0){
break;
}
if(candidateID > 999){
System.out.println("Invalid ID number!");
continue;
}
poll[candidateID]++;
}
sc.close();
System.out.println(" Election results ");
int i;
for(i=0;i<1000;i++){
if(poll[i] > 0){
System.out.println("Candidate " + i + ": " + poll[i] + " vote(s)");
}
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.