Java初级项目如何实现简单的订单管理
实现一个简单的订单管理系统是Java初学者巩固基本知识的好方法。本项目可涵盖设计、集合操作、文件读写等核心内容,无需复杂框架即可运行。以下是一个基本但完整的实现想法。
1. 设计订单和商品实体类
首先定义两个核心类别:商品(Product)和订单(Order),用于包装数据。
Product.java
public class Product { private String id; private String name; private double price;
// 构造方法 public Product(String id, String name, double price) { this.id = id; this.name = name; this.price = price; }
// Getter 和 Setter 方法(IDE可以生成) public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
Order.java
import java.util.ArrayList; import java.util.List;
public class Order { private String orderId; private List items = new ArrayList<>();
public Order(String orderId) { this.orderId = orderId; }
public void addItem(Product product) { items.add(product); }
public double getTotal() { return items.stream().mapToDouble(Product::getPrice).sum(); }
public String getOrderId() { return orderId; } public List getItems() { return items; } }
2. 实现订单管理功能创建订单服务类来管理所有订单的增删操作。
OrderService.java
import java.util.HashMap; import java.util.Map;
public class OrderService { private Map<String, Order> orders = new HashMap<>();
public void createOrder(String orderId) { if (orders.containsKey(orderId)) { System.out.println("订单已存在!"); return; } orders.put(orderId, new Order(orderId)); System.out.println("订单 " + orderId + " 成功创造”); }
public void addProductToOrder(String orderId, Product product) { Order order = orders.get(orderId); if (order != null) { order.addItem(product); System.out.println(product.getName() + " 已加入订单 " + orderId); } else { System.out.println("订单不存在!"; } }
public void showOrder(String orderId) { Order order = orders.get(orderId); if (order != null) { System.out.println(”订单ID: " + order.getOrderId()); System.out.println(商品列表:; for (Product p : order.getItems()) { System.out.println(" - " + p.getName() + " ¥" + p.getPrice()); } System.out.println("总计: ¥" + order.getTotal()); } else { System.out.println(”订单不存在!"); } } }
3. 添加主程序入口测试功能
模拟用户操作,在main方法中测试订单流程。
MainApp.java
public class MainApp { public static void main(String[] args) { OrderService service = new OrderService();
// 创建商品 Product p1 = new Product("P001", “笔记本电脑”, 5999.0); Product p2 = new Product("P002", "鼠标", 99.0);
// 创建订单并添加商品 service.createOrder("O001"); service.addProductToOrder("O001", p1); service.addProductToOrder("O001", p2);
// 查看订单 service.showOrder("O001"); } }
4. 可选扩展功能
若要进一步提高项目实用性,可考虑以下扩展:
- 用Scanner接收用户输入,实现交互式菜单
- 将订单数据保存到文本文件或CSV中,实现持久性
- 增加删除订单、查询所有订单等功能
- 添加简单的库存管理逻辑
基本上就是这样。这个项目并不复杂,但很容易忽略细节,如空值判断、重复订单处理等。写作可以很好地锻炼Java的基本能力。异常处理和日志记录可以逐步引入,以便学习Spring Boot奠定了基础。
