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

In this exercise you will complete a class that implements a shopping cart as an

ID: 651719 • Letter: I

Question

In this exercise you will complete a class that implements a shopping cart as an array of items. The file Item.java contains the definition of a class named Item that models an item one would purchase. An item has a name, price, and quantity (the quantity purchased). The file ShoppingCart.java implements the shopping cart as an array of Item objects.

Complete the ShoppingCart class by doing the following:

Declare an instance variable cart to be an array of Items and instantiate cart in the constructor to be an array holding capacity Items.

Fill in the code for the increaseSize method. Your code should be similar to that in Listing 7.8 of the text but instead of doubling the size just increase it by 3 elements.

Fill in the code for the addToCart method. This method should add the item to the cart and update the totalPrice

instance variable (note this variable takes into account the quantity).

Compile your class.

Write a program that simulates shopping. The program should have a loop that continues as long as the user wants to shop. Each time through the loop read in the name, price, and quantity of the item the user wants to add to the cart. After adding an item to the cart, the cart contents should be printed. After the loop print a

Explanation / Answer

// Item.java
// Represents an item in a shopping cart.
import java.text.NumberFormat;
public class Item
{

   private String name;
   private double price;
   private int quantity;
   // Create a new item with the given attributes.
   public Item (String itemName, double itemPrice, int numPurchased)
   {
       name = itemName;
       price = itemPrice;
       quantity = numPurchased;
   }
   // Return a string with the information about the item
   public String toString ()
   {
       NumberFormat fmt = NumberFormat.getCurrencyInstance();
       return (name + " " + fmt.format(price) + " " + quantity + " "
               + fmt.format(price*quantity));

   }
   // Returns the unit price of the item
   public double getPrice()
   {
       return price;
   }
   // Returns the name of the item
   public String getName()
   {
       return name;
   }

   // Returns the quantity of the item
   public int getQuantity()
   {
       return quantity;
   }
}
-------------------------------------------------------------
// Represents a shopping cart as an array of items
//ShoppingCart.java
import java.text.NumberFormat;
public class ShoppingCart
{
   private int itemCount; // total number of items in the cart
   private double totalPrice; // total price of items in the cart
   private int capacity; // current cart capacity
   private Item cart[];

   // Creates an empty shopping cart with a capacity of 5 items.
   public ShoppingCart()
   {
       capacity = 5;

       //create an array of Item type of capacity 5
       cart=new Item[capacity];
       //set itemCount and totalPrice to zero
       itemCount = 0;
       totalPrice = 0.0;
   }
   // Adds an item to the shopping cart.
   public void addToCart(String itemName, double price, int quantity)
   {

       //instatiate a Item class object with three input
       //parameters called itemName, price and quantity
       if(itemCount<capacity)
       {      
           cart[itemCount]=new Item(itemName, price, quantity);
           //incremnt the itemCount by one
           itemCount++;
       }
       else
       {
           increaseSize();
           cart[itemCount]=new Item(itemName, price, quantity);
           //incremnt the itemCount by one
           itemCount++;
       }
   }

   // Returns the contents of the cart together with
   // summary information.
   public String toString()
   {
       NumberFormat fmt = NumberFormat.getCurrencyInstance();
       String contents = " Shopping Cart ";
       contents += " Item Unit Price Quantity Total ";
      
       for (int i = 0; i < itemCount; i++)
           contents += cart[i].toString() + " ";

       return contents;
   }
  
   //The method getTotalCost that calculates the total price
   //of all items in the cart and returns totalPrice
   public double getTotalCost()
   {
       for (int count=0;count<itemCount;count++)
           totalPrice+=cart[count].getPrice()*cart[count].getQuantity();
       return totalPrice;
   }

   // The method increaseSize that increases the capacity of the shopping cart by 3
   private void increaseSize()
   {
      
       Item tempCart[]=new Item[itemCount];
       //copy cart items to tempCart
       for (int count = 0; count < itemCount; count++)
           tempCart[count]=cart[count];
      
       this.capacity=this.capacity+3;
       //change the size of the cart by three
       cart=new Item[capacity];
      
       //copy the tempCart to cart
       for (int count = 0; count < itemCount; count++)
           cart[count]=tempCart[count];      
   }

}
--------------------------------------------------------------

/**
*
* java program should have a loop that continues
* as long as the user wants to shop. Each time through
* the loop read in the name, price, and quantity of the
* item the user wants to add to the cart. After adding an
* item to the cart, the cart contents should be printed.
* After the loop print a

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote