import java.util.ArrayList; public class ShoppingCart { private String customerName; private String currentDate; private ArrayList<ItemToPurchase> cartItems = new ArrayList<ItemToPurchase>(); public ShoppingCart (){ customerName = "none"; currentDate = "January 1, 2016"; } public ShoppingCart (String name, String date){ customerName = name; currentDate = date; } public String getCustomerName(){ return customerName; } public String getDate(){ return currentDate; } public void printNameDate (){ System.out.println(customerName + "'s Shopping Cart - "+ currentDate); } public void addItem(ItemToPurchase item){ cartItems.add(item); } public void removeItem(String itemName){ for (int i=0; i<cartItems.size(); i++){ if (cartItems.get(i).getName().equals(itemName)){ cartItems.remove(i); System.out.println(); return; } } System.out.println("Item not found in cart. Nothing removed."); System.out.println(); } public void modifyItem(ItemToPurchase item){ for (int i=0; i<cartItems.size(); i++){ if (cartItems.get(i).getName().equals(item.getName())){ if (item.getDescription() != "none"){ cartItems.get(i).setDescription(item.getDescription()); } if (item.getPrice() != 0){ cartItems.get(i).setPrice(item.getPrice()); } if (item.getQuantity() != 0){ cartItems.get(i).setQuantity(item.getQuantity()); } return; } } System.out.println("Item not found in cart. Nothing modified."); System.out.println(); } public int getNumItemsInCart(){ return cartItems.size(); } public int getCostOfCart(){ int runningTotal = 0; for (int i=0; i<cartItems.size(); i++){ runningTotal += (cartItems.get(i).getPrice() * cartItems.get(i).getQuantity()); } return runningTotal; } public void printTotal(){ printNameDate(); int runningTotal = 0; for (int i=0; i<cartItems.size(); i++){ runningTotal += cartItems.get(i).getQuantity(); } System.out.println("Number of Items: " + runningTotal); System.out.println(); if (cartItems.size() == 0){ System.out.println("SHOPPING CART IS EMPTY"); } for (int i=0; i<cartItems.size(); i++){ System.out.println(cartItems.get(i).getName() + " " + cartItems.get(i).getQuantity() + " @ $"+ cartItems.get(i).getPrice() + " = $" + (cartItems.get(i).getPrice() * cartItems.get(i).getQuantity())); } System.out.println("\nTotal: $" + getCostOfCart()); System.out.println(); } public void printDescriptions(){ printNameDate(); System.out.println("\nItem Descriptions"); for (int i=0; i<cartItems.size(); i++){ cartItems.get(i).printItemDescription(); } System.out.println(); } }