讲师中心 微信公众号
AI工具推荐 视频效率加速

在Java中如何开发简易商品管理系统_商品管理系统开发实战指南

胖萱姑娘_4198

胖萱姑娘_4198

发布时间:2025-11-21 15:13:02

|

511人浏览过

|

来源于php中文网

原创

答案:开发Java商品管理系统需先明确添加、查询、修改、删除商品等功能,设计Product类封装商品信息,用ProductService类实现增删改查逻辑并使用ArrayList存储数据,通过Scanner构建控制台菜单交互界面,最后可优化输入校验、持久化和异常处理以提升健壮性。

在java中如何开发简易商品管理系统_商品管理系统开发实战指南

开发一个简易商品管理系统是学习Java面向对象编程和基础数据处理的很好实践。通过这个项目,你可以掌握类的设计、集合操作、用户交互以及简单的持久化思路。下面是一个实用的开发指南,帮助你从零开始构建一个控制台版的商品管理系统。

1. 明确系统功能需求

在编码之前,先确定系统要实现哪些基本功能。一个简易商品管理系统通常包括:

  • 添加商品:输入商品名称、编号、价格、库存等信息
  • 查看所有商品:列出当前系统中所有商品
  • 根据编号查询商品:支持按商品ID查找
  • 修改商品信息:更新价格或库存
  • 删除商品:按编号移除商品
  • 退出系统:结束程序运行

这些功能足够覆盖基础练习所需,后续可扩展搜索、分类、文件存储等功能。

2. 设计商品类(Product)

使用面向对象思想,首先定义一个Product类来表示商品实体。

立即学习“Java免费学习笔记(深入)”;

示例代码:

public class Product {
    private String id;
    private String name;
    private double price;
    private int stock;
<pre class='brush:java;toolbar:false;'>public Product(String id, String name, double price, int stock) {
    this.id = id;
    this.name = name;
    this.price = price;
    this.stock = stock;
}

// Getter 和 Setter 方法
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; }

public int getStock() { return stock; }
public void setStock(int stock) { this.stock = stock; }

@Override
public String toString() {
    return "编号:" + id + ",名称:" + name +
           ",价格:" + price + "元,库存:" + stock + "件";
}

}

3. 实现商品管理服务类(ProductService)

创建一个ProductService类,负责管理商品的增删改查逻辑,使用ArrayList临时存储商品数据。

Java Api Extractor
Java Api Extractor

从 Java 项目中提取 Controller 层接口定义为 JSON 数据。

下载

核心方法包括:

  • addProduct(Product p):添加商品,检查重复编号
  • findAllProducts():返回全部商品列表
  • findProductById(String id):根据ID查找
  • updateProduct(String id, Product newProduct):更新信息
  • deleteProductById(String id):删除指定商品

部分实现示例:

import java.util.ArrayList;
import java.util.List;
<p>public class ProductService {
private List<Product> products = new ArrayList<>();</p><pre class='brush:java;toolbar:false;'>public void addProduct(Product product) {
    if (findProductById(product.getId()) != null) {
        System.out.println("商品编号已存在!");
        return;
    }
    products.add(product);
    System.out.println("商品添加成功!");
}

public List<Product> findAllProducts() {
    return products;
}

public Product findProductById(String id) {
    for (Product p : products) {
        if (p.getId().equals(id)) {
            return p;
        }
    }
    return null;
}

}

4. 构建控制台交互界面

使用Scanner读取用户输入,设计菜单式操作界面。

主程序入口示例:

import java.util.Scanner;
<p>public class ProductManagementSystem {
public static void main(String[] args) {
ProductService service = new ProductService();
Scanner input = new Scanner(System.in);
boolean running = true;</p><pre class='brush:java;toolbar:false;'>    while (running) {
        System.out.println("\n--- 商品管理系统 ---");
        System.out.println("1. 添加商品");
        System.out.println("2. 查看所有商品");
        System.out.println("3. 查询商品");
        System.out.println("4. 修改商品");
        System.out.println("5. 删除商品");
        System.out.println("6. 退出");
        System.out.print("请选择操作:");

        int choice = input.nextInt();
        input.nextLine(); // 消费换行符

        switch (choice) {
            case 1:
                System.out.print("请输入编号:");
                String id = input.nextLine();
                System.out.print("请输入名称:");
                String name = input.nextLine();
                System.out.print("请输入价格:");
                double price = input.nextDouble();
                System.out.print("请输入库存:");
                int stock = input.nextInt();
                input.nextLine();

                Product p = new Product(id, name, price, stock);
                service.addProduct(p);
                break;
            case 2:
                List<Product> list = service.findAllProducts();
                if (list.isEmpty()) {
                    System.out.println("暂无商品数据。");
                } else {
                    for (Product product : list) {
                        System.out.println(product);
                    }
                }
                break;
            case 6:
                System.out.println("系统已退出。");
                running = false;
                break;
            default:
                System.out.println("无效选择,请重试。");
        }
    }
    input.close();
}

}

5. 优化与扩展建议

完成基础功能后,可以逐步增强系统能力:

  • 使用HashMap<string product></string>提升查询效率
  • 将数据保存到文本文件中,实现简单持久化
  • 增加输入校验,防止空值或非法数字
  • 封装工具类,如InputUtil处理用户输入
  • 引入JUnit编写测试用例验证业务逻辑

基本上就这些。通过这个实战项目,你不仅掌握了Java基础语法的应用,还理解了如何组织代码结构,为后续学习数据库和Web开发打下良好基础。不复杂但容易忽略的是细节处理,比如输入缓冲、重复判断和空指针防护,这些才是写出健壮程序的关键。

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

5030

2023.10.13

java测试工具有哪些
java测试工具有哪些

java测试工具有JUnit、TestNG、Mockito、Selenium、Apache JMeter和Cucumber。php还给大家带来了java有关的教程,欢迎大家前来学习阅读,希望对大家能有所帮助。

3421

2023.10.23

Java 单元测试
Java 单元测试

本专题聚焦 Java 在软件测试与持续集成流程中的实战应用,系统讲解 JUnit 单元测试框架、Mock 数据、集成测试、代码覆盖率分析、Maven 测试配置、CI/CD 流水线搭建(Jenkins、GitHub Actions)等关键内容。通过实战案例(如企业级项目自动化测试、持续交付流程搭建),帮助学习者掌握 Java 项目质量保障与自动化交付的完整体系。

1186

2025.10.24

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

7079

2023.08.02

go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

7295

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

362

2025.11.27

C++ 面向对象编程与设计模式实践
C++ 面向对象编程与设计模式实践

本专题整合了 C++ 面向对象编程的核心机制,涵盖类的定义与访问控制、构造函数与析构函数、拷贝语义与移动语义、继承与虚函数多态、抽象类与接口、运算符重载、友元函数等关键知识点,同时结合单例模式、工厂模式、观察者模式、策略模式等常用设计模式的 C++ 实现,帮助开发者写出结构清晰、易于维护的面向对象代码。

384

2026.04.09

Java 面向对象与核心编程机制
Java 面向对象与核心编程机制

系统讲解 Java 面向对象编程的核心知识体系,涵盖类的定义与封装、构造方法与 this/super 关键字、继承与方法重写、多态与向上向下转型、抽象类与接口的区别与设计原则、异常处理机制(try-catch-finally / 自定义异常)、泛型的类型参数与通配符、集合框架(List/Set/Map)的使用与遍历方式,帮助开发者全面掌握 Java 程序设计的核心机制与面向对象思维。

243

2026.04.17

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn