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);
		
	}
}

Recommended Answers

All 3 Replies

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.

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
}
// ...

		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 =/

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.