📄 shoppingcart.java
字号:
package ebookshop.shopcart;
import java.util.*;
public class ShoppingCart {
HashMap items = null;
int numberOfItems = 0;
public ShoppingCart() {
items = new HashMap();
}
//根据ISBN号增加ShopCartItem(购物车项)和书的数量
public void add(String isbn, BookDetails book) {
if(items.containsKey(isbn)) //判断此HashMap是否存在此isbn的cartItem(购物车项)
{
ShopCartItem scitem = (ShopCartItem) items.get(isbn);
scitem.bookNumberAdd();
} else {
ShopCartItem newItem = new ShopCartItem(book);
items.put(isbn, newItem); //把newItem放入HashMap中,并且key="isbn"
}
numberOfItems++;
}
//根据ISBN号删除ShopCartItem(购物车项)和书的数量
public void remove(String isbn) {
if(items.containsKey(isbn)) {
ShopCartItem scitem = (ShopCartItem) items.get(isbn);
scitem.bookNumberReduce();
if(scitem.getBookNumber() <= 0)
items.remove(isbn);
numberOfItems--;
}
}
public Collection getItems() {
return items.values(); //返回此映射所包含的值的 collection(集合)
}
//override java.lang.Object的finalize()以便配置系统资源或执行其他清除
protected void finalize() throws Throwable {
items.clear();
}
public int getNumberOfItems() {
return numberOfItems;
}
//计算购物车中所有书的总金额
public float getTotal() {
float total = 0;
for(Iterator i = getItems().iterator(); i.hasNext(); ) {
ShopCartItem item = (ShopCartItem) i.next();
BookDetails bookDetails = (BookDetails) item.getBook();
total += item.getBookNumber() * bookDetails.getPrice().floatValue();
}
return total;
}
public void clear() {
items.clear();
numberOfItems = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -