先用Java控制台实现购物清单核心功能,包括添加、查看、删除商品及文件持久化,通过Item和ShoppingList类管理数据,Scanner处理用户输入,逐步构建基础后可扩展为Web应用。

想用Java做一个简单的在线购物清单?其实不难。核心是理解基础逻辑和结构,再一步步实现功能。重点不是代码多复杂,而是清楚每个部分做什么。下面从设计到实现,一步步带你做出来。
1. 明确功能需求
作为初学者,先做最小可用版本(MVP)。你的购物清单至少要有这些功能:
- 添加商品:输入名称、数量或价格
- 查看所有商品:列出当前清单内容
- 删除商品:按名称或编号移除条目
- 保存数据:程序关闭后数据不丢失(可用文件存储)
不需要一开始就做网页界面,先用控制台(Console)练习,熟悉后再转Web。
2. 设计数据结构和类
用面向对象思路组织代码。最基础的类是Item和ShoppingList。
立即学习“Java免费学习笔记(深入)”;
Item类代表一个购物项:
class Item {
String name;
int quantity;
double price;
public Item(String name, int quantity, double price) {
this.name = name;
this.quantity = quantity;
this.price = price;
}
public String toString() {
return name + " × " + quantity + " (¥" + price + " each)";
}
}
ShoppingList类管理所有商品:
iWebMall 是一款高性能高扩展能力的开源 LAMP 电子商务软件,定位为大中型电子商务平台软件,服务于有建立电子商务需求的商业客户。这些商业客户不必学习任何计算机编程代码知识,只需要使用 iWebMall 软件他们就可以轻松建立一个功能强大的网上商城,实现用户注册、产品展示、在线定购、在线支付等电子商务功能;iWebMall 集成了产品发布与查询、会员注册登录、购物车、在线订单、在线支付、在
- 用ArrayList
- 存储条目
- 提供add、remove、listAll方法
- 可加入saveToFile和loadFromFile处理持久化
3. 实现控制台交互
主程序用Scanner读取用户输入,根据选择调用对应方法。
public static void main(String[] args) {
ShoppingList list = new ShoppingList();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("\n1. 添加 2. 查看 3. 删除 4. 退出");
int choice = sc.nextInt();
sc.nextLine(); // 消费换行符
switch (choice) {
case 1:
System.out.print("名称:");
String name = sc.nextLine();
System.out.print("数量:");
int qty = sc.nextInt();
System.out.print("单价:");
double price = sc.nextDouble();
list.addItem(new Item(name, qty, price));
break;
case 2:
list.displayItems();
break;
case 3:
System.out.print("要删除的商品名:");
String delName = sc.nextLine();
list.removeItem(delName);
break;
case 4:
System.out.println("再见!");
return;
}
}
}
4. 加入文件保存功能
让数据能存到本地文件,下次启动还能读取。可以用Java的序列化或写文本文件。
例如用ObjectOutputStream保存对象列表:
- 在程序退出前调用saveToFile("list.data")
- 启动时尝试加载该文件,如果存在就恢复数据
- 注意处理IOException
这样就实现了基本的持久化。
基本上就这些。做完控制台版后,你可以考虑升级成Web应用,比如用Spring Boot搭个简单后台,前端用HTML+表单交互。但一开始别贪多,把基础打牢最重要。功能完整、代码清晰,比追求花哨更有价值。









