cart.java
来自「AJAX+JSP shopping cart」· Java 代码 · 共 89 行
JAVA
89 行
package developerworks.ajax.store;import java.math.BigDecimal;import java.util.*;/** * A very simple shopping Cart */public class Cart { private HashMap<Item,Integer> contents; /** * Creates a new Cart instance */ public Cart() { contents = new HashMap<Item,Integer>(); } /** * Adds a named item to the cart * @param itemName The name of the item to add to the cart */ public void addItem(String itemCode) { Catalog catalog = new Catalog(); if (catalog.containsItem(itemCode)) { Item item = catalog.getItem(itemCode); int newQuantity = 1; if (contents.containsKey(item)) { Integer currentQuantity = contents.get(item); newQuantity += currentQuantity.intValue(); } contents.put(item, new Integer(newQuantity)); } } /** * Removes the named item from the cart * @param itemName Name of item to remove */ public void removeItems(String itemCode) { contents.remove(new Catalog().getItem(itemCode)); } /** * @return XML representation of cart contents */ public String toXml() { StringBuffer xml = new StringBuffer(); xml.append("<?xml version=\"1.0\"?>\n"); xml.append("<cart generated=\""+System.currentTimeMillis()+"\" total=\""+getCartTotal()+"\">\n"); for (Iterator<Item> I = contents.keySet().iterator() ; I.hasNext() ; ) { Item item = I.next(); int itemQuantity = contents.get(item).intValue(); xml.append("<item code=\""+item.getCode()+"\">\n"); xml.append("<name>"); xml.append(item.getName()); xml.append("</name>\n"); xml.append("<quantity>"); xml.append(itemQuantity); xml.append("</quantity>\n"); xml.append("</item>\n"); } xml.append("</cart>\n"); return xml.toString(); } private String getCartTotal() { int total = 0; for (Iterator<Item> I = contents.keySet().iterator() ; I.hasNext() ; ) { Item item = I.next(); int itemQuantity = contents.get(item).intValue(); total += (item.getPrice() * itemQuantity); } return "$"+new BigDecimal(total).movePointLeft(2); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?