购物车中存放商品(id,名称,价格,数量)
实现商品数据的添加、删除、总金额结算操作,添加商品时,如果商品存在,修改数量
通过get和set方法设置相关属性
~~代码如下:
public class Goods { // id,名称,价格,数量 private int id; private String name; private double price; private int num; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } @Override public String toString() { return "Goods{" + "id=" + id + ", name='" + name + '\'' + ", price=" + price + ", num=" + num + '}'; } }
public class Cart { //定义商品数组 private Goods[] goodsArr; //get/set 方法 public Goods[] getGoodsArr() { return goodsArr; } public void setGoodsArr(Goods[] goodsArr) { this.goodsArr = goodsArr; } // 添加商品时,如果商品存在,修改数量 public void addGoods(Goods goods) { for (int i = 0; i < goodsArr.length; i++) { if (goodsArr[i] == null) { continue; } if (goodsArr[i].getId() == goods.getId()) { // goodsArr[i].setNum(goodsArr[i].getNum() + goods.getNum()); int newNum = goodsArr[i].getNum() + goods.getNum(); goodsArr[i].setNum(newNum); // break; return;//结束循环 } } for (int i = 0; i < goodsArr.length; i++) { if (goodsArr[i] == null) { goodsArr[i] = goods; break; } } } /** * 根据id删除 * * @param id */ public void deleteGoods(int id) { for (int i = 0; i < goodsArr.length; i++) { if (goodsArr[i] == null) { continue; } if (goodsArr[i].getId() == id) { goodsArr[i] = null; } } } /** * 计算总价 * * @return */ public double totalPrice() { double total = 0; for (int i = 0; i < goodsArr.length; i++) { if (goodsArr[i] == null) { continue; } total += goodsArr[i].getNum() * goodsArr[i].getPrice(); } return total; } public void printInfo() { for (Goods goods : goodsArr) { if (goods == null) { continue; } System.out.println(goods); } } }
public class App { public static void main(String[] args) { Cart cart = new Cart(); Goods[] goodsArr = new Goods[10]; cart.setGoodsArr(goodsArr); Goods goods = new Goods(); goods.setId(1); goods.setName("金项链"); goods.setNum(10); goods.setPrice(12000); cart.addGoods(goods); Goods goods2 = new Goods(); goods2.setId(2); goods2.setName("金戒指"); goods2.setNum(1); goods2.setPrice(4800); Goods goods3 = new Goods(); goods3.setId(3); goods3.setName("金手镯"); goods3.setNum(1); goods3.setPrice(5800); cart.addGoods(goods3); cart.addGoods(goods2); cart.printInfo(); double v = cart.totalPrice(); System.out.println(v); cart.deleteGoods(1); cart.printInfo(); } }