⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shoppingcart.java

📁 JAVA网上书店的程序原代码,希望对大家偶用
💻 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 + -