shoppingcart.java

来自「J2EE导学」· Java 代码 · 共 81 行

JAVA
81
字号
/* * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. *  * This software is the proprietary information of Sun Microsystems, Inc.   * Use is subject to license terms. *  */package cart;import java.util.*;import database.BookDetails; public class ShoppingCart {    HashMap items = null;    int numberOfItems = 0;    public ShoppingCart() {        items = new HashMap();    }    public void add(String bookId, BookDetails book) {        if(items.containsKey(bookId)) {            ShoppingCartItem scitem = (ShoppingCartItem) items.get(bookId);            scitem.incrementQuantity();        } else {            ShoppingCartItem newItem = new ShoppingCartItem(book);            items.put(bookId, newItem);        }        numberOfItems++;    }    public void remove(String bookId) {        if(items.containsKey(bookId)) {            ShoppingCartItem scitem = (ShoppingCartItem) items.get(bookId);            scitem.decrementQuantity();            if(scitem.getQuantity() <= 0)                items.remove(bookId);            numberOfItems--;        }    }    public Collection getItems() {        return items.values();    }    protected void finalize() throws Throwable {        items.clear();    }    public int getNumberOfItems() {        return numberOfItems;    }    public double getTotal() {        double amount = 0.0;        for(Iterator i = getItems().iterator(); i.hasNext(); ) {            ShoppingCartItem item = (ShoppingCartItem) i.next();            BookDetails bookDetails = (BookDetails) item.getItem();            amount += item.getQuantity() * bookDetails.getPrice();        }        return roundOff(amount);    }    private double roundOff(double x) {        long val = Math.round(x*100); // cents        return val/100.0;    }    public void clear() {        items.clear();        numberOfItems = 0;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?