java基本商品管理系统

此商品管理系统与我之前写过的电商系统、员工管理系统类似,更新的功能有同时修改商品名与价格、多项删除指定id商品,并在多项删除后退出系统

系统需求

需求分析

根据上述需求图,分析此商品管理系统

商品属性

  • 商品编号(pid)
  • 商品名(pname)
  • 单价(price)
  • 标记(flag)
  • 类别编号(category_id)

功能

  • 添加商品
  • 修改商品名、价格
  • 删除指定id的商品
  • 删除所有商品(多项删除)
  • 查询指定id的商品
  • 查询所有商品
  • 退出系统

编程分析

根据以上需求,创建三个类

  • Product类:定义商品属性与构造器
  • ProductManage类:声明Product的功能方法
  • ProductClient类:绘制功能菜单,实现控制台输入,实现不同功能

代码如下

Product类

package com.max.org;/*** * @author max**/
public class Product {private int pid;private String pname;private int price;private int flag;private String category_id;public Product() {// TODO Auto-generated constructor stub}public Product(int pid, String pname, int price, int flag, String category_id) {super();this.pid = pid;this.pname = pname;this.price = price;this.flag = flag;this.category_id = category_id;}public int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}public String getPname() {return pname;}public void setPname(String pname) {this.pname = pname;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public int getFlag() {return flag;}public void setFlag(int flag) {this.flag = flag;}public String getCategory_id() {return category_id;}public void setCategory_id(String category_id) {this.category_id = category_id;}@Overridepublic String toString() {return "Product [pid=" + pid + ", pname=" + pname + ", price=" + price + ", flag=" + flag + ", category_id=" + category_id + "]";}}

ProductManage类

package com.max.org;import java.util.ArrayList;
/*** * @author max**/
public class ProductManage {static ArrayList<Product> list = new ArrayList<>();/** 商品添加 */public void add(Product p) {list.add(p);}/** 根据id修改指定商品的价格 */public boolean modifyPrice(int id, int price) {Product pro = findById(id);if (pro != null) {pro.setPrice(price);return true;}return false;}/** 根据id修改指定商品的商品名 */public boolean modifyPname(int id, String pname) {Product pro = findById(id);if (pro != null) {pro.setPname(pname);return true;}return false;}/** 根据商品id删除商品 */public boolean delete(int id) {Product pro = findById(id);if (pro != null) {return list.remove(pro);}return false;}/** 查询指定id的商品 */public Product findById(int pid) {Product pro = null;for (Product p : list) {if (p.getPid() == pid) {pro = p;break;}}return pro;}/** 查询所有商品 */public ArrayList<Product> findAll() {return list;}}

ProductClient类

package com.max.org;import java.util.ArrayList;
import java.util.Scanner;
/*** * @author max**/
public class ProductClient {ProductManage pm = new ProductManage();private Scanner sc;private int index = 0;public void menu() {msg("=========================");msg("========商品管理系统=========");msg("====输入以下命令进行操作=======");msg("====【C】创建商品=============");msg("====【U】修改商品名与价格======");msg("====【D】删除指定id商品=======");msg("====【DA】删除所有商品========");msg("====【I】通过id查询===========");msg("====【FA】查询所有商品=========");msg("====【Q】退出系统=============");msg("=========================");msg("请输入操作指令:");start();}public void start() {sc = new Scanner(System.in);String i = sc.next().toUpperCase();switch (i) {case "C":add();break;case "U":updatePrice();break;case "D":delete();break;case "DA":deleteAll();break;case "I":findById();break;case "FA":findAll();break;case "Q":exit();break;default:msg("请输入正确的操作指令!!!");break;}menu();}/** 添加商品 */public void add() {msg("请输入商品信息(按以下格式:商品编号/商品名/单价/标记/类别编号)");sc = new Scanner(System.in);String s = sc.nextLine();String[] info = s.split("/");if (pm.findById(Integer.parseInt(info[0])) != null) {msg("该编号的商品已存在,请重新输入");add();return;} else {Product p = new Product(Integer.parseInt(info[0]), info[1], Integer.parseInt(info[2]),Integer.parseInt(info[3]), info[4]);pm.add(p);msg("添加成功");}}/** 查询所有 */public void findAll() {msg("商品编号\t商品名\t单价\t标记\t类别编号");for (Product p : pm.findAll()) {msg(p);}}/** 根据id查询商品的客户端实现 */public void findById() {sc = new Scanner(System.in);msg("请输入需要查询的商品编号:");int id = sc.nextInt();Product p = pm.findById(id);if (p == null) {msg("您输入的商品编号不存在");findById();return;}msg(p);}/** 根据商品id删除商品的客户端实现 */public void delete() {sc = new Scanner(System.in);msg("请输入删除商品的编号:");int id = sc.nextInt();if (pm.delete(id)) {msg("删除成功!");} else {msg("删除失败!");}}/** 删除所有商品 */public void deleteAll() {sc = new Scanner(System.in);msg("请输入删除商品编号:");int id = sc.nextInt();Product p = pm.findById(id);if (id == -1) {msg("您确定要删除被标记的"+index+"个商品吗?请输入y:");if(sc.next().toLowerCase().equals("y")) {msg("删除成功");System.exit(1);}}if (pm.delete(id)) {msg("已标记要删除的商品"+p);} else {msg("删除失败!");}index++;// 递归deleteAll();}/** 根据商品id修改价格的客户端实现 */public void updatePrice() {sc = new Scanner(System.in);msg("请输入编辑商品的编号:");int id = sc.nextInt();Product pro = pm.findById(id);if (pro == null) {msg("修改商品已不存在");menu();} else {msg(pro);}msg("请输入修改的商品名:");String pname = sc.next();msg("请输入编辑商品的价格:");int price = sc.nextInt();if (pm.modifyPrice(id, price) && pm.modifyPname(id, pname)) {msg("修改成功");} else {msg("修改失败");}}/** 系统退出 */public void exit() {sc = new Scanner(System.in);msg("是否确定退出?(Y/N)");String op = sc.next();if (op.equalsIgnoreCase("y")) {msg("谢谢使用,再见!");System.exit(1);}}public void msg(Object obj) {System.out.println(obj);}public static void main(String[] args) {new ProductClient().menu();}}

功能菜单进行了简单美化,但连接数据库还有待进一步实现

java基本的商品管理系统相关推荐

  1. Java大作业-商品管理系统

    商品管理系统实战 源码资源包地址已经修改,可以正常下载了. 1.题目要求 模拟实现以下商品管理业务系统,商品管理系统的整体功能有: 注:商品数据存储在一个数据库中(用静态HashMap来模拟),MyS ...

  2. java最终考核项目(实现商品管理系统)

    文章目录 首先声明一点,java这门语言其实博主是个小白,有很多小细节没考虑进去,大家有需要的私下各自完善一下,还请各位大佬多多谅解,谢谢,祝大家取得好成绩,冲冲冲,加油!!! 第一步: 第二步: 第 ...

  3. IDEA+Java控制台实现宠物管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.获取资源 二.系统展示 1.登录系统 2.查询宠物信息 3.增加宠物信息 4.更新宠物信息 5.删除宠物信息 三.部分代码 Busin ...

  4. IDEA+Java控制台实现医院管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.获取资源 二.系统展示 1.登录系统 2.查询病人信息 3.新增病人信息 4.更新病人信息 5.删除病人信息 三.部分代码 Busin ...

  5. java计算机毕业设计商品供应管理系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计商品供应管理系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计商品供应管理系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...

  6. java商品管理系统

    package shangpin;public class Goods {private String id;//商品编号private String name;//名称private double ...

  7. Java课程设计——仓库商品管理系统

    在现今信息时代,生活速度的加快,使得人们越来越向信息化.数字化发展.随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,尤其是学生的考试成绩数据.面对庞大的学生的成绩,需要有学生 ...

  8. java swing mysql实现的仓库商品管理系统

    运行背景: Java swing实现的一款简单的仓库商品管理系统,数据库采用的是mysql,本系统实现了两个角色层面的功能,管理员可以管理用户.仓库.商品信息等.普通用户登录后可以查看商品.仓库信息及 ...

  9. Java+Swing+mysql5实现超市商品管理系统

    Java+Swing+mysql5实现超市商品管理系统 一.系统介绍 1.系统功能 2.环境配置 3.数据库 4.工程截图 二.系统展示 1.登录页 1.1登录成功 2.添加商品 3.商品列表 4.查 ...

  10. 商品管理系统Java实现

    商品管理系统 实现功能:商品查询,新增,更改价格,以及删除 首先是三个基本类的构建 商品类.账号类.品牌类 1.商品类 public class Goods {//商品信息:商品名称,商品价格,商品销 ...

最新文章

  1. 学习笔记之yum的本地源配置和ATP简介和使用
  2. jdk8 List集合 Stream distinct() 去重代码示例
  3. gitlab合并分支后需要提交吗_gitlab使用总结
  4. 使用编辑工具快速创建实体对象的方法
  5. 《深入学习 Golang》并发编程
  6. java跨平台_Java如何实现跨平台
  7. delphi mysql类_Delphi MySQL数据库操作类
  8. 终于理解你的软件 搞那么多年了 (通用权限管理系统组件源码完善了7-8年)
  9. MT4的交易记录导入“复盘大师3”的解决办法
  10. Python的学习心得和知识总结(十二)|Python图形用户接口编程(Graphical User Interface编程 一)
  11. 开源中国正式挂牌,新三板首家软件众包平台
  12. 钢笔墨水能否代替打印机墨水_喷墨打印机该用染料墨水还是颜料墨水?
  13. 在使用html5的video标签播放视频时为何只有声音却没有图像
  14. linux重置ilo,重启HPE管理芯片ILO5的5种方法(Reset ilo)
  15. c语言满屏爱心,微信聊天可以发满屏动态爱心了 个性又浪漫!
  16. java 首字母检索_java实现首字母模糊查询的功能
  17. Excel函数——小数点计算
  18. 人工智能入门教材,我来推荐
  19. C语言指针 * 和 总结
  20. antd table分页,关于react的antd表格分页的问题

热门文章

  1. Autodesk 3ds Max2020安装说明
  2. 手机变身高清摄像头 DroidCamX完全使用教程
  3. Windows API一日一练(17-18)DialogBox DialogBoxParam EndDialog函数
  4. 存量运营好工具:客户稳定度评分卡模型
  5. 思科模拟器Cisco Packet Tracer的下载与安装
  6. Linux下TCP Socket编程实例
  7. 【病毒查杀】CAD杀毒方法
  8. 超实用的桌面收纳盒!
  9. 高等数学——详解洛必达法则
  10. Linux命令--vi(编辑或查看文件内容)