Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a Java program that uses the Purchase class, found at the end of the ques

ID: 3628864 • Letter: C

Question

Create a Java program that uses the Purchase class, found at the end of the question and named Purchase.java to set the following prices:

* Oranges: 10 for $2.99
* Eggs: 12 for $2.69
* Apples: 3 for $1.00
* Watermelons: $4.39 each
* Bagels: 6 for $3.50

Then calculate the cost of each of the following five items and the total bill:

* 2 dozen oranges
* 3 dozen eggs
* 20 apples
* 2 watermelons
* 1 dozen bagels

I suggest that you create a new Java project named anything you like, such as lab10. Then either import the class Purchase.java into your project, or create a new empty Java class named Purchase and copy into it the code from Purchase.java.

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 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 price of item as two numbers.");
System.out.println ("For example, 3 for $2.99 is entered as");
System.out.println ("3 2.99");
System.out.println ("Enter price of 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 price of item as two numbers.");
System.out.println ("For example, 3 for $2.99 is entered as");
System.out.println ("3 2.99");
System.out.println (
"Enter price of item as two numbers, now:");
groupCount = keyboard.nextInt ();
groupPrice = keyboard.nextDouble ();
}
System.out.println ("Enter number of items purchased:");
numberBought = keyboard.nextInt ();
while (numberBought <= 0)
{ //Try again:
System.out.println ("Number must be positive. Try again.");
System.out.println ("Enter number of items purchased:");
numberBought = keyboard.nextInt ();
}
}

/**
Displays 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;
}
}

Explanation / Answer

public static void main(String[] args)
{
// use the setPrice() method to set the price of each item.

// * Oranges: 10 for $2.99
Purchase oranges = new Purchase();
orange.setPrice(10, 2.99);
// * Eggs: 12 for $2.69
Purchase eggs = new Purchase();
eggs.setPrice(12, 2.69);
// * Apples: 3 for $1.00
Purchase apples = new Purchase();
apples.setPrice(3, 1.00);
// * Watermelons: $4.39 each
Purchase watermelons = new Purchase();
watermelons.setPrice(1, 4.39);
// * Bagels: 6 for $3.50
Purchase bagels = new Purchase();
bagels.setPrice(6, 3.50);

// set the number bought of each item

// * 2 dozen oranges
oranges.setNumberBought(24);
// * 3 dozen eggs
eggs.setNumberBought(36);
// * 20 apples
apples.setNumberBought(20);
// * 2 watermelons
watermelons.setNumberBought(2);
// * 1 dozen bagels
bagels.setNumberBought(12);

// sum up total price
double total = 0.0;
total += oranges.getTotalCost();
total += eggs.getTotalCost();
total += apples.getTotalCost();
total += watermelons.getTotalCost();
total += bagels.getTotalCost();

System.out.println("Total price: $"+total);
}