public class ShoppingCart { public Item[] theItems; public int item_count; public int TotalPrice; public ShoppingCart() { theItems = new Item[1000]; item_count = 0; TotalPrice = 0; } /* ****************************************************************************************** */ // Setters and Getters public int getItemCount() { return item_count; } public void setItemCount(int ic) { item_count = ic; } public void setTotalPrice(int t) { this.TotalPrice = t; } public int getTotalPrice() { return TotalPrice; } public void setTheItems(Item[] t) { this.theItems = t; } public Item[] getTheItems() { return theItems; } /* ****************************************************************************************** */ public void addItems(Item anItem) { theItems[item_count] = anItem; System.out.println("Item Added:" + anItem); item_count++; } /* ****************************************************************************************** */ public boolean removeItem(Item e) { boolean returnValue = false; int matched_item; if((matched_item = this.contains(e)) >= 0) { for(int i = matched_item; i < item_count - 1; i++) { theItems[i] = theItems[i+1]; } item_count--; this.setTotalPrice(this.getTotalPrice() - e.getPrice()); returnValue = true; } if(returnValue == false) { System.out.println("Item not found"); } else { System.out.println("Item Removed:" + e); } return returnValue; } /* ****************************************************************************************** */ public int contains(Item e) { int item_match = -1; for(int j = 0; j < this.getItemCount(); j++) { if(theItems[j].getName().equals(e.getName()) && theItems[j].getPrice() == e.getPrice()) { item_match = j; } } return item_match; } /* ****************************************************************************************** */ public int calculateTotalPrice() { this.setTotalPrice(0); for(int i = 0 ; i < this.getItemCount(); i++) { TotalPrice += theItems[i].getPrice(); } return this.getTotalPrice(); } /* ****************************************************************************************** */ public void clear() { for(int j = 0; j < this.getItemCount(); j++) { theItems[j] = new Item("", 0); } // Create an empty array of Item type : Item[] Item[] freshEmptyItems = new Item[1000]; // Set theItems to this freshEmptyItems this.setTheItems(freshEmptyItems); this.setItemCount(0); this.setTotalPrice(0); System.out.println("Cart Cleared"); } /* ****************************************************************************************** */ public String toString() { boolean encountered_before; int the_item_count; String str = ""; for(int i = 0; i < this.getItemCount(); i++) { encountered_before = false; // Check to see if encountered before for(int j = 0; j < i; j++) { if(theItems[i].getName().equalsIgnoreCase(theItems[j].getName())) { encountered_before = true; } } // if not encountered before then calculate its count if(encountered_before == false) { // calculate the item_counts of each item the_item_count = 1; for(int k = i+1; k < this.getItemCount(); k++) { if(theItems[i].getName().equalsIgnoreCase(theItems[k].getName())) { the_item_count++; } } // display //System.out.println("Quantity = " + the_item_count + " " + theItems[i].getName()); //str += "Quantity = " + the_item_count + " " + theItems[i].getName() + "\n"; str += String.format("Quantity = %d %s %n", the_item_count, theItems[i].getName()); } } return str; } /* ****************************************************************************************** */ }
Tuesday, October 26, 2010
LabTest#2: Revised Solution -- Section 6 -- Class: Shopping Cart
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment