Here is one part of the project that is stumping me. I don't think I understand how this stuff works. Here is what I have to try to accomplish...
"write a program that uses the purchase class to set the following prices:
oranges, 10 for 2.99
eggs, 12 for 1.69
apples, 3 for 1.00
watermelons, 4.39 each
bagels, 6 for 3.50
Then calculate the total bill for each item for the following:
2 dozen oranges
3 dozen eggs
20 apples
2 watermelons
1 dozen bagels"
here is the purchase class that is referenced in the question...
import java.util.Scanner; /** Class for the purchase of one kind of item, such as 3 oranges. Prices are set supermarket style, such as 5 for $1.25. */ public class Purchase { private String name; private int groupCount; //Part of a price, like the 2 in 2 for $1.99. private double groupPrice; //Part of a price, like the $1.99. //in 2 for $1.99. private int numberBought; //Number of items bought. public void setName (String newName) { name = newName; } /** Sets price to count pieces for $costForCount. For example, 2 for $1.99. */ public void setPrice (int count, double costForCount) { if ((count <=0) || (costForCount <=0)) { System.out.println ("Error: Bad parameter in setPrice."); System.exit (0); } else { groupCount = count; groupPrice = costForCount; } } public void setNumberBought (int number) { if (number <= 0) { System.out.println ("Error: Bad parameter in setNumberBought."); System.exit (0); } else { numberBought = number; } } /** Reads from the keyboard the price and number of a purchase. */ public void readInput () { Scanner keyboard = new Scanner (System.in); System.out.println ("Enter name of item you are purchasing:"); name = keyboard.nextLine (); System.out.println ("Enter the price of an item as 2 numbers."); System.out.println ("For example, 3 for $2.99 is entered as"); System.out.println ("3 2.99"); System.out.println ("Enter the price of an item as two numbers, now:"); groupCount = keyboard.nextInt (); groupPrice = keyboard.nextDouble (); while ((groupCount <= 0) || (groupPrice <= 0)) { //Try again: System.out.println ("Both numbers must be positive. Try again."); System.out.println ("Enter the price of an item as 2 numbers."); System.out.println ("For example, 3 for $2.99 is entered as"); System.out.println ("3 2.99"); System.out.println ("Enter the price of an item as two numbers, now:"); groupCount = keyboard.nextInt (); groupPrice = keyboard.nextDouble (); } System.out.println ("Enter the number of items purchased:"); numberBought = keyboard.nextInt (); while (numberBought <= 0) { //Try again: System.out.println ("The number must be positive. Try again."); System.out.println ("Enter the number of items purchased:"); numberBought = keyboard.nextInt (); } } /** Displays the price and number being purchased */ public void writeOutput () { System.out.println (numberBought + " " + name); System.out.println ("at " + groupCount + " for $" + groupPrice); } public String getName () { return name; } public double getTotalCost () { return (groupPrice / groupCount) * numberBought; } public double getUnitCost () { return groupPrice / groupCount; } public int getNumberBought () { return numberBought; } }
Can someone give me some insight as to what I am supposed to be doing. I don't think I understand the question.