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

📄 cart.java

📁 购物车模块实例。购物车模块可以浏览商品类别;可以根据商品类别浏览商品信息;可以购买商品;可以查看购物车的商品;可以修改购买商品的数量和删除购买的商品。
💻 JAVA
字号:
package data;import java.util.*;public class Cart {  private Hashtable goods = new Hashtable();  private String customer = "";  //Cart类的构造器  public Cart() {}  //添加商品的方法  public void addGoods(Hashtable goods){    //取得添加商品的ID集合    Enumeration newGoodsIds = goods.keys();    while(newGoodsIds.hasMoreElements()){       Object goodsId = newGoodsIds.nextElement();      //购买车的商品包括新添加商品      if(this.goods.containsKey(goodsId)){        //分解添加商品字符串        String[] newGoods = decodeGoodsStr(goods.get(goodsId).toString());        //分解购物车商品字符串        String[] oriGoods = decodeGoodsStr(this.goods.get(goodsId).toString());        //增加商品数量        int newQuantity = Integer.parseInt(newGoods[3]) +            Integer.parseInt(oriGoods[3]);        //将修改后的商品数量放入购物车的商品集合,覆盖原来的商品记录        this.goods.put(goodsId, newGoods[0] + "@@" + newGoods[1] + "@@"                       + newGoods[2] + "@@" + String.valueOf(newQuantity));      //购买车的商品不包括新添加商品      }else{        this.goods.put(goodsId, goods.get(goodsId));      }    }  }  //修改商品数量的方法  public void updateGoods(Hashtable goods){    //取得修改商品的ID集合    Enumeration newGoodsIds = goods.keys();    while(newGoodsIds.hasMoreElements()){      Object goodsId = newGoodsIds.nextElement();      //覆盖购物车的商品记录      this.goods.put(goodsId, goods.get(goodsId));    }  }  //删除商品数量的方法  public void removeGoods(java.util.Collection goodsId){    java.util.Iterator goodsIdIterator = goodsId.iterator();    while(goodsIdIterator.hasNext()){      //删除购物车的商品记录      this.goods.remove(goodsIdIterator.next());    }  }  //分解商品字符串的方法  public String[] decodeGoodsStr(String goodStr){    //通过StringTokenizer类分解商品字符串    StringTokenizer goodsTokenizer = new StringTokenizer(goodStr, "@@");    String[] goods = new String[4];    int i = 0;    //将分解后的商品信息放入数组,分别是产品名称、单位数量、单价和购买数量    while(goodsTokenizer.hasMoreTokens()){      goods[i] = goodsTokenizer.nextToken();      i++;    }    return goods;  }  //取得顾客名字的方法  public String getCustomer() {    return customer;  }  //设置顾客名字的方法  public void setCustomer(String customer) {    this.customer = customer;  }  //取得购物车商品集合类的方法  public Hashtable getGoods() {    return goods;  }  //显示商品的方法  public Object[][] getGoodsobjs(){    Enumeration GoodsIds = goods.keys();    //创建商品数组    Object[][] goodsObjs = new Object[goods.size()+1][7];    //创建单个商品数组    String[] oneGoodsStrs = new String[4];    int row = 0;    String goodsStr = "";    String goodsId = "";    double amount = 0;    double oneGoodAmount = 0;    int quantity = 0;    while(GoodsIds.hasMoreElements()){      //取得商品标识      goodsId = (String)GoodsIds.nextElement();      //取得商品字符串      goodsStr = (String)goods.get(goodsId);      //分解商品字符串      oneGoodsStrs = decodeGoodsStr(goodsStr);      goodsObjs[row][0] = goodsId;                         //取得商品标识      goodsObjs[row][1] = oneGoodsStrs[0];                 //取得商品名称      goodsObjs[row][2] = oneGoodsStrs[1];                 //取得单位数量      goodsObjs[row][3] = new Double(oneGoodsStrs[2]);     //取得单价      goodsObjs[row][4] = new Boolean(false);  //是否修改      goodsObjs[row][5] = new Integer(oneGoodsStrs[3]);    //取得购买数量      try{        oneGoodAmount = Double.parseDouble(oneGoodsStrs[2]) *            Double.parseDouble(oneGoodsStrs[3]);        quantity += Integer.parseInt(oneGoodsStrs[3]);       //累加购买数量      }catch(Exception ex){        oneGoodAmount = 0;      }      //累加总金额      amount += oneGoodAmount;      goodsObjs[row][6] = new Double(oneGoodAmount);  //取得金额      row++;    }    //在最后一行显示总金额    goodsObjs[row][0] = "总金额";    goodsObjs[row][1] = "";    goodsObjs[row][2] = "";    double averagePrice = 0;    //计算平均单价    if(quantity != 0){      averagePrice = Math.round((amount/quantity)*100);      averagePrice /= 100;    }else{      averagePrice = 0;    }    goodsObjs[row][3] = new Double(averagePrice);    goodsObjs[row][4] = new Boolean(false);    //是否修改    goodsObjs[row][5] = new Integer(quantity);        //取得购买数量    goodsObjs[row][6] = new Double(amount);    return goodsObjs;  }}

⌨️ 快捷键说明

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