初学者 模拟购物车(包含添加商品和删除商品功能)

购物车界面与功能实现分析图:




购物车对象:

package cn.itsource._01_buycart.domain;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 *  购物车对象
 * */
public class ShoppingCart {
	
	//表示购物车对象中的所有商品
	private List<CartItem> items = new ArrayList<>();

	public List<CartItem> getItems() {
		return items;
	}

	public void setItems(List<CartItem> items) {
		this.items = items;
	}
	
	/**
	 *  计算购物车中商品总价
	 * */
	public Double getTotalPrice(){
		Double totalPrice = 0D;
		for (CartItem item : items) {
			totalPrice += item.getPrice()*item.getNum(); 
		}
		return totalPrice;
	}
	
	
	/**
	 *  设计一个向购物车中添加商品的方法
	 * */
	public void save(CartItem newItem){
		/**
		 *  遍历所有的商品,如果商品相同,就将数量进行相加
		 *  	如果全部不同,则需要把商品单独添加到购物车
		 * */
		for (CartItem item : items) {
			//比较id
			if(newItem.getId().equals(item.getId())){
				//修改item的数量  .item是购物车原有的数据
				item.setNum(item.getNum() +newItem.getNum());
				return; //不终止代码执行,则会执行后面的代码。
			}
		}
		//如果全部不同,则需要把商品单独添加到购物车
		items.add(newItem);
	}
	
	/**
	 *  从购物车中删除一个商品
	 * */
	public void delete(String id){
		/**
		 *  在使用遍历时,如果对遍历的这个集合进行修改或者删除的话。容易出现线程并发安全问题
  • 11
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值