954,536 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

help counting choices

hey guys, i'm really stuck on this program. It's basically a survey and I have to ask people what drinks they like. 1-4, coffee tea oj and lemonade.

i'm having trouble counting the TOTAL NUMBER OF PEOPLE and counting how many people pick coffee tea oj or lemonade.

i have the 5th option set as a sentinel, where the program ends.

i need help like i said counting the total number of people who participated(person who quits doesn't count) and counting each drink

help?

import java.util.Scanner;
public class Assignment3
{
public static void main(String[]args)
{
int choice = 1;
int person = 1;
int person1 = 0;
int choice1 = 1, choice2 = 1, choice3 = 1, choice4 = 1;
int total = 0, votes;
double percent, perc1, perc2, perc3, perc4;

Scanner keyboard = new Scanner(System.in);


while (choice != 5)
{
System.out.println("Enter choice for person# " + person);
System.out.println("1. Coffee 2. Tea 3. Orange Juice 4. Lemonade 5. Quit");
choice = keyboard.nextInt();
if(choice < 1 || choice > 5)
{
System.out.print("That was an invalid choice -- enter 1 through 5 only");
choice = keyboard.nextInt();
}
if(choice == choice1)
person++;
else
if(choice == choice2)
person++;
else
if(choice == choice3)
person++;
else
if(choice == choice4)
person++;

}
person=choice1+choice2+choice3+choice4;
perc1 = choice1/person;
perc2 = choice2/person;
perc3 = choice3/person;
perc4 = choice4/person;


System.out.println("The total number of people surveyed: " + person);
System.out.println("THe results are as follows");
System.out.println();

System.out.println(" Beverage Number of Votes Percentage");
System.out.println("-------------------------------------------------------------------------------------");
System.out.println();
System.out.println("Coffee "+choice1+ " "+perc1);
System.out.println("Tea "+choice2+" "+perc2);
System.out.println("Orange Juice "+choice3+" "+perc3);
System.out.println("Lemonade "+choice4+" "+perc4);

}
}

nitric0
Newbie Poster
2 posts since Sep 2008
Reputation Points: 10
Solved Threads: 0
 

Try this:
have a variable for each drink (you can have an array as well, if you want) and proceed as follows:
- when a new person comes, increment the person variable
- read their choice
- if choice = 1, increment the variable for tea, if choice = 2, inc. variable for coffee etc
- at the end, you will know that:
- you have asked 'person' persons
- teaVariable of them prefer tea
- coffeeVariable of them prefer coffee
- etc.

hope this helps.

Chaster
Junior Poster in Training
68 posts since Jun 2007
Reputation Points: 12
Solved Threads: 3
 

You seem to be making things a little hard. Zero things out to start with, then if their choice is valid increment person, then record their choice, then do your calculations. Also remove your line of

person = choice1+ .... etc


here's the gist of what you need

int choice1 = 0, choice2 = 0, choice3 = 0, choice4 = 0, person = 0;

//Leave original code here

if(choice < 1 || choice  > 5) {
 System.out.print("That was an invalid choice -- enter 1 through 5 only");
choice = keyboard.nextInt();
}
//You can add this and make it easier
else {
//We added a new preson
person++;
//Now we'll add their choice
switch(choice){
case  1:
choice1++;
break;
case 2:
choice2++;
break;
//continue on with others
}
dickersonka
Veteran Poster
1,175 posts since Aug 2008
Reputation Points: 130
Solved Threads: 143
 
// ...

		System.out.println(" Beverage				Number of Votes			Percentage");
		System.out.println("-------------------------------------------------------------------------------------");
		System.out.println();
		System.out.println("Coffee                	"+choice1+ "			    "+perc1);
		System.out.println("Tea								"+choice2+"					 "+perc2);
		System.out.println("Orange Juice 				"+choice3+"					 "+perc3);
		System.out.println("Lemonade						"+choice4+"					 "+perc4);


Use tabs instead of trying to space things out and match them up manually =/

Alex Edwards
Posting Shark
972 posts since Jun 2008
Reputation Points: 392
Solved Threads: 109
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You