17370845950

在Java中如何实现购物清单自动汇总
定义Item类封装商品信息,包含名称、单价、数量及总价计算方法;2. 使用ArrayList存储多个商品对象;3. 遍历列表累加每项总价实现自动汇总,可选用Stream API简化计算;4. 结构清晰易扩展,支持后续添加折扣、分类统计等功能。

在Java中实现购物清单自动汇总,核心是通过对象封装商品信息,利用集合存储数据,并对价格进行累加计算。关键在于结构清晰、代码可扩展,适合后续添加折扣、分类统计等功能。

定义商品类(Item)

每个商品应包含名称、单价和数量。创建一个简单的POJO类来表示商品项。

示例:

public class Item {
    private String name;
    private double price;  // 单价
    private int quantity;
public Item(String name, double price, int quantity) {
    this.name = name;
    this.price = price;
    this.quantity = quantity;
}

public double getTotal() {
    return price * quantity;
}

// getter 方法(toString 可选)
public String getName() { return name; }
public double getPrice() { return price; }
public int getQuantity() { return quantity; }

@Override
public String toString() {
    return name + " × " + quantity + " = ¥" + String.format("%.2f", getTotal());
}

}

使用List存储购物清单

用ArrayList保存多个商品,便于动态增删和遍历。

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

List shoppingList = new ArrayList<>(); shoppingList.add(new Item("苹果", 5.5, 3)); shoppingList.add(new Item("牛奶", 12.0, 2)); shoppingList.add(new Item("面包", 8.0, 1));

自动汇总总价

遍历列表,调用每个商品的getTotal方法,累加得到总金额。

double totalAmount = 0.0;
for (Item item : shoppingList) {
    System.out.println(item);  // 打印每项明细
    totalAmount += item.getTotal();
}
System.out.println("总计:¥" + String.format("%.2f", totalAmount));

如果想更简洁,也可以使用Java 8的Stream API:

double total = shoppingList.stream()
    .mapToDouble(Item::getTotal)
    .sum();

基本上就这些。结构简单,易于维护,后续可以加入类别、优惠券、税率等逻辑扩展功能。