Important Notice:

Practice-It will be discontinued as of November 1st, 2024. After this date, the website will remain online for a transitional period, but login will be restricted to University of Washington NetID authentication. This marks the next phase towards the platform's full retirement. Thank you for your use and support of the application over the years.

If you are looking for an alternative, a similar tool, CodeStepByStep, was developed independently by the original author of Practice-It, and is available at codestepbystep.com**

logo Practice-It logo

tallyVotes

Language/Type: Java
Author: Stuart Reges (on 2016/11/14)

Write a static method called tallyVotes that takes a console Scanner as a parameter and that prompts the user for a series of votes, reporting and returning the percentage of yes votes. The user is prompted for a series of responses that are either "y" to indicate yes, "n" to indicate no, or "q" to indicate that the user wants to quit because there are no more votes to tally. You can assume that the user will always type one of these three responses as a lowercase letter. For example, below is a sample call on the method:

Scanner console = new Scanner(System.in);
double percentYes = tallyVotes(console);

This call would produce an interaction like the following (with the user typing "y", "n", or "q"):

vote? y
vote? y
vote? n
vote? y
vote? y
vote? y
vote? q
total votes = 6
result = 83.33333333333334%

Notice that the user is prompted for votes until they quit and then the method produces a line of output showing the total number of votes and a line of output showing the percent of yes votes. You do not need to round the percentage. The variable percentYes would be set to 83.33333333333334. You are to exactly reproduce the format of this log. You may assume that the user enters at least one vote before quitting.

Type your solution here:


This is a method problem. Write a Java method as described. Do not write a complete program or class; just the method(s) above.

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.