Write a program Election that computes the tally in a write-in election, and announces the winner. Since the votes are write-in, there is no pre-determined set of candidates. Whoever appears the most in the votes is the winner. The user enters the individual votes, one vote per line, and ends entering with typing -1 or an empty line. To compute the tally, the program uses two arrays, a String [ ] variable (names), and an int [ ] variable (count). Upon receiving a single vote, the program checks if the name on the vote appears in names, and if it does, the program adds 1 to the value of the element in count. If the name does not appear in names, the program extends both arrays by one element, stores the name in names at the last position and store 1 in count at the last position. In this manner, the two arrays will have the same lengths. The initial length is 0 for both arrays. Below is an example of how the program may runplease I need to demonstrate the code,I need some comments next to every single line

Respuesta :

The election program illustrates the use of ArrayLists, loops and conditional statements.

ArrayLists are resizable arrays, while loops and conditional statements are used to perform repetitions and make decisions, respectively.

The election program written in Java, where comments are used to explain each line is as follows:

import java.util.*;

public class Main {

 public static void main(String[] args) {

     //This creates a Scanner object

   Scanner input = new Scanner(System.in);

   //This creates a string ArrayList for the names of the candidates

   ArrayList<String> names = new ArrayList<String>();

   //This creates an Integer ArrayList for the vote count of the candidates

   ArrayList<Integer> votes = new ArrayList<Integer>();

   //This declares name as string

   String name;

   //This gets input for the name of the candidates

   name = input.nextLine();

   //This is repeated until the user enters "-1"

   while (!"-1".equals(name)){

       //If name is in the list,

       if(names.contains(name)){

             //This gets the index of the name  

             int pos =names.indexOf(name);

             //This calculates the number of votes

             Integer value = votes.get(pos)+1;  

             //This adds the vote to the vote ArrayList

             votes.set(pos, value);

       }

       //If otherwise

       else{

           //This adds the candidate name to the name ArrayList

           names.add(name);

           //This adds 1 as the vote of the candidate to the vote ArrayList

           votes.add(1);

       }

       //This gets input for the name of another candidates

       name = input.nextLine();

   }

   //This prints the name of the election winner

   System.out.println("Winner : " +names.get(votes.indexOf(Collections.max(votes))));

 }

}

Read more about ArrayLists, loops and conditional statements at:

https://brainly.com/question/19504703

RELAXING NOICE
Relax