Java简单购物车Cart

B:

package com.lijiaxing.List;

import org.junit.Test;

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

public class B {
    private List<Goods> list;
    public B(){
        Cart cart = new Cart();
        list = cart.getList();
    }
    public List buy(Goods newGoods){
        boolean flag = false;
        Iterator<Goods> iterator = list.iterator();//遍历器
        while (iterator.hasNext()){//是否有下一个
            Goods oldGoods = iterator.next();//得到所有老商品的信息
            if (newGoods.getNo().equals(oldGoods.getNo())){//判断新老商品是不是同一种商品
                oldGoods.setShuliang(newGoods.getShuliang()+oldGoods.getShuliang());//老商品数量+新商品数量
                flag = true;
                break;
            }
        }
        if (!flag){//新商品
            list.add(newGoods);//加入新商品
        }
        return list;
    }
    @Test
    public void test(){
        Goods goods1 = new Goods("咖啡","0001",100,2);
        this.buy(goods1);
        Goods goods2 = new Goods("咖啡","0001",100,5);
        this.buy(goods2);
        Goods goods3 = new Goods("牛奶","0002",200,1);
        this.buy(goods3);
        Goods goods4 = new Goods("方糖","0003",50,20);
        this.buy(goods4);
        Goods goods5 = new Goods("方糖","0003",50,10);
        this.buy(goods5);
        Goods goods6 = new Goods("奶茶","0004",150,50);
        List<Goods> list = this.buy(goods6);
        for (Goods goods :list){
            System.out.println(goods.getName()+":"+goods.getShuliang()*goods.getPrice());
        }
    }
}

Cart:

package com.lijiaxing.List;

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

public class Cart {
    private List<Goods> list = new ArrayList<>();

    public List<Goods> getList() {
        return list;
    }

    public void setList(List<Goods> list) {
        this.list = list;
    }
}

Goods:

package com.lijiaxing.List;

public class Goods {
    private String name;
    private String no;
    private float price;
    private int shuliang;

    public Goods(){

    }
    public Goods(String name, String no, float price, int shuliang) {
        this.name = name;
        this.no = no;
        this.price = price;
        this.shuliang = shuliang;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    public int getShuliang() {
        return shuliang;
    }

    public void setShuliang(int shuliang) {
        this.shuliang = shuliang;
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单Java 模拟购物车系统的实现。 首先,我们需要定义一个商品 `Product`,它应该包含名称、价格和库存等属性: ```java public class Product { private String name; private double price; private int stock; public Product(String name, double price, int stock) { this.name = name; this.price = price; this.stock = stock; } // getter 和 setter 方法省略 } ``` 然后,我们需要定义一个购物车 `Cart`,它应该包含商品列表、总价格等属性,以及添加商品、移除商品、计算总价等方法: ```java import java.util.ArrayList; import java.util.List; public class Cart { private List<Product> productList; private double totalPrice; public Cart() { this.productList = new ArrayList<>(); this.totalPrice = 0; } public void addProduct(Product product, int quantity) { if (product.getStock() < quantity) { System.out.println("库存不足!"); return; } for (Product p : productList) { if (p.getName().equals(product.getName())) { p.setStock(p.getStock() - quantity); totalPrice += product.getPrice() * quantity; return; } } Product newProduct = new Product(product.getName(), product.getPrice(), product.getStock() - quantity); productList.add(newProduct); totalPrice += product.getPrice() * quantity; } public void removeProduct(String productName, int quantity) { for (Product p : productList) { if (p.getName().equals(productName)) { if (p.getStock() + quantity > 0) { p.setStock(p.getStock() + quantity); totalPrice -= p.getPrice() * quantity; } else { System.out.println("商品数量不能小于0!"); } return; } } System.out.println("购物车中不存在该商品!"); } public double getTotalPrice() { return totalPrice; } } ``` 最后,我们可以在 `Main` 中测试购物车系统的功能: ```java public class Main { public static void main(String[] args) { Product p1 = new Product("iPhone 11", 5999, 10); Product p2 = new Product("iPad Pro", 7999, 5); Cart cart = new Cart(); cart.addProduct(p1, 2); cart.addProduct(p2, 1); System.out.println("总价:" + cart.getTotalPrice()); cart.removeProduct("iPhone 11", 1); System.out.println("总价:" + cart.getTotalPrice()); cart.addProduct(p2, 10); System.out.println("总价:" + cart.getTotalPrice()); } } ``` 输出结果如下: ``` 总价:13997.0 总价:9998.0 库存不足! 总价:9998.0 ``` 这就是一个简单Java 模拟购物车系统。当然,这只是一个基础版本,您可以根据实际需求进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值