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

在Java中实现购物清单自动汇总,核心是通过对象封装商品信息,利用集合存储数据,并对价格进行累加计算。关键在于结构清晰、代码可扩展,适合后续添加折扣、分类统计等功能。
定义商品类(Item)
每个商品应包含名称、单价和数量。创建一个简单的POJO类来表示商品项。
示例:
public class Item { private String name; private double price; // 单价 private int quantity; <pre class='brush:java;toolbar:false;'>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()); }
}
立即学习“Java免费学习笔记(深入)”;
使用List存储购物清单
用ArrayList保存多个商品,便于动态增删和遍历。
import java.util.ArrayList; import java.util.List; <p>List<Item> shoppingList = new ArrayList<>(); shoppingList.add(new Item("苹果", 5.5, 3)); shoppingList.add(new Item("牛奶", 12.0, 2)); shoppingList.add(new Item("面包", 8.0, 1));</p>
自动汇总总价
遍历列表,调用每个商品的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();
基本上就这些。结构简单,易于维护,后续可以加入类别、优惠券、税率等逻辑扩展功能。


