项目概述:

这个项目可以实现用户对商品信息的录入、查询、修改、删除功能

学习目的:

主要是对java的基础知识的应用、ArrayList的使用和类的封装调用

第一步:

创建一个Product 类里面的成员有商品编号,商品名称,商品价格,以及实现商品编号,商品名称,商品价格的设置方法和获取方法

public class Product {private String No;//商品编号private String name;//商品名称private Double price;//商品价格public void setNo(String no) {No = no;}public void setName(String name) {this.name = name;}public void setPrice(Double price) {this.price = price;}public String getNo() {return No;}public String getName() {return name;}public Double getPrice() {return price;}}

第二步:

1、创建一个ProductManageSys 类,用来实现这个项目的主要功能
2、创建一个ArrayList集合,用来用来存储product对象`

public static  ArrayList<Product> product=new ArrayList<Product>();

3、主程序

public static void main(String[] args) {while (true) {//显示菜单String input = showmen();//对用户输入的选项进行相应操作funSelect(input);}}

4、构造一个showmen()方法实现用户菜单显示界面,方便用户使用

 public static String showmen() {//1.显示菜单页面System.out.println("======欢迎来到商品管理系统======");System.out.println("1、查看商品信息");System.out.println("2、添加商品信息");System.out.println("3、删除商品信息");System.out.println("4、修改商品信息");System.out.println("0、退出商品管理系统");System.out.println("请输入你要选择的功能选项");//接收用户输入Scanner sc=new Scanner(System.in);String input =sc.next();return input;}

5、构造funSelect()方法,执行用户输入的操作

public static void funSelect(String input) {switch (input){case "1":findAll(product);break;case "2":addProduct(product);break;case "3":delProduct(product);break;case "4":modifyProduct(product);break;case "0":System.out.println("系统已完成退出");break;default:System.out.println("你的输入用误,请重新输入!");}}

6、构造addProduct()方法,将用户输入的节点存入ArrayList集合,如果集合中有相同的编号则提示用户重新输入商品信息。

public static void addProduct(ArrayList<Product> products){//创建Product对象Product product=new Product();Scanner sc=new Scanner(System.in);System.out.println("输入商品编号:");String  ProNo=sc.next();//处理有相同编号的商品for(int i=0;i<products.size();i++){if(ProNo.equals(products.get(i).getNo())){System.out.println("已经存在这个编号的商品,请重新录入不同的商品编号!");return;}}product.setNo(ProNo);System.out.println("输入商品名称:");String  Proname=sc.next();product.setName(Proname);System.out.println("输入商品价格");double Propice=sc.nextDouble();product.setPrice(Propice);products.add(product);

6、构造findAll()方法,实现用户对商品信息的查询,如果ArrayList集合为空则提示用户没有数据。

public static void findAll(ArrayList<Product> products){//Product product=new Product()System.out.println("商品编号\t商品名称\t商品价格");if(products.isEmpty()){System.out.println("系统没有数据");return;}else{for (int i=0;i<products.size();i++){Product pro=products.get(i);String proNo=pro.getNo();String proName=pro.getName();Double proPrice=pro.getPrice();System.out.println(proNo +"\t\t "+proName + "\t\t" + proPrice );}}}

7、 构造delProduct()方法,实现用户对商品信息的删除。用户输入要删除的商品编号,集合中有这个编号则提示删除成功,没有提示用户删除失败。

注意这个小细节:

if(num.equals(proNo)):不能写成if(num==proNo),num和proNo的内容虽然相等,但它们的地址不相等,所以要调用equals()只比较它们的内容

public static void delProduct(ArrayList<Product> products){boolean key=false;System.out.print("请你输入要删除商品的编号:");Scanner sc=new Scanner(System.in);String  num=sc.next();for(int i=0;i<products.size();i++){Product pro=products.get(i);String proNo=pro.getNo();if(num.equals(proNo)){products.remove(pro);key=true;}}if(key==false){System.out.println("没有这个商品,删除失败!");}else if(key==true){System.out.println("删除成功!");}}

8、构造modifyProduct()方法,用户可以输入要修改的商品编号,进行修改商品价格、或者商品名称、或者对商品价格和名称的同时修改

    public static void modifyProduct(ArrayList<Product> products){System.out.print("请你输入要修改商品的编号:");Scanner sc=new Scanner(System.in);String num=sc.next();for(int i=0;i<products.size();i++){if(num.equals(products.get(i).getNo())){Product pro=products.get(i);System.out.println("商品信息修改前"+"商品编号\t商品名称\t商品价格");System.out.println(pro.getNo() +"\t\t "+pro.getName() + "\t\t" + pro.getPrice());System.out.println("请你输入要修改的内容:1、修改价格,2、修改名称,3、修改价格和名称");Scanner sc3=new Scanner(System.in);Integer num3=sc3.nextInt();if(num3==1) {System.out.print("请输入你商品修改的价格:");Scanner sc2 = new Scanner(System.in);Double price = sc2.nextDouble();pro.setPrice(price);products.set(i, pro);System.out.println("商品信息修改后" + "商品编号\t商品名称\t商品价格");System.out.println(pro.getNo() + "\t\t " + pro.getName() + "\t\t" + pro.getPrice());System.out.println("修改价格成功!");}else if(num3==2){System.out.print("请输入你商品修改的名称:");Scanner sc4 = new Scanner(System.in);String name = sc4.next();pro.setName(name);products.set(i, pro);System.out.println("商品信息修改后" + "商品编号\t商品名称\t商品价格");System.out.println(pro.getNo() + "\t\t " + pro.getName() + "\t\t" + pro.getPrice());System.out.println("修改名称成功!");}else if(num3==3){System.out.print("请输入你商品修改的价格:");Scanner sc2 = new Scanner(System.in);Double price = sc2.nextDouble();pro.setPrice(price);System.out.print("请输入你商品修改的名称:");Scanner sc4 = new Scanner(System.in);String name = sc4.next();pro.setName(name);products.set(i, pro);System.out.println("商品信息修改后" + "商品编号\t商品名称\t商品价格");System.out.println(pro.getNo() + "\t\t " + pro.getName() + "\t\t" + pro.getPrice());System.out.println("修改名称成功!");}}}}

JAVA小项目--商品管理系统相关推荐

  1. Java小项目超市管理系统(数组实现)

    ❤️项目图 输入幸运数字,幸运用户才可以登录超市管理系统 1.使用技术

  2. java小项目图书管理系统_Java小项目迷你图书管理系统

    package迷你图书管理系统;importjava.util.Scanner;public classBookMgr {public static voidmain(String[] args) { ...

  3. java小项目影院系统

    java小项目,影院管理系统 http://download.csdn.net/detail/github_32658299/9632276 下面是两个关键的类 1.这是电影院测试类,用来读取用户输入 ...

  4. java小项目之:植物大战僵尸,这个僵尸不太冷!内附素材源码

    Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁 ...

  5. java小项目家庭记账程序

    文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...

  6. Java毕设项目户籍管理系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目户籍管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webst ...

  7. Java毕设项目门诊管理系统补录(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目门诊管理系统补录(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

  8. JAVA毕设项目后勤管理系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)

    JAVA毕设项目后勤管理系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBu ...

  9. c语言工程实践小超市商品管理系统

    小超市商品管理系统 • 使用文件.链表,系统以菜单方式工作. • 某商店每天有进货.售货.统计销售额.计算毛利率.查看商品剩余量等业务.设计一个菜单,实现下述功能 • 创建商品档案.每一个商品信息包括 ...

  10. Java毕设项目信贷管理系统计算机(附源码+系统+数据库+LW)

    Java毕设项目信贷管理系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

最新文章

  1. Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存
  2. JAVA 的读取Excel方法_纯Java的方式读取excel2007
  3. 算法训练 出现次数最多的整数
  4. 与7无关的数(信息学奥赛一本通-T1094)
  5. oDesk: 最为严谨的外包服务中介平台
  6. ACCESS数据库C#操作类(SQLHELPER修改版)——转自网上
  7. python 导出数据并发邮件_Python 获取zabbix数据图并发邮件
  8. java io装饰类,Java IO 装饰类新说
  9. java案例教程_JAVA基础案例教程 PDF 下载
  10. 2012年1月份第3周51Aspx源码发布详情
  11. 腾讯云短信 Node.js SDK
  12. SAVIOR Securing Autonomous Vehicles with Robust Physical Invariants
  13. 颠覆式创新看世界,读《第二曲线创新》有感
  14. CUDA的旋转R ROI Align的OPENCL实现1(原理理解)
  15. 如何用php 图片合成一张图片,怎么用PHP把多张图片合成一张
  16. oppo手机工程模式清除数据需要密码_普通人也可以做码农?黑客教你如何在手机上开发运用代码...
  17. org.zkoss.xel.XelException: Resource not found:
  18. javaweb-linux-44
  19. 基于HTML+CSS+JavaScript仿淘宝购物商城设计毕业论文源码
  20. 【史上最骚爬虫|疯狂爬取中国大学mooc】太燃了,爬虫vs慕课反爬世纪大战|No.1

热门文章

  1. DroidCamX – 让您的 Android 安卓手机瞬间变成电脑的高清无线摄像头
  2. 多元统计分析最短距离法_多元统计分析方法 -
  3. 瑞利信道的多普勒谱的原理与MATLAB仿真
  4. ejb2.0详细开发过程
  5. 一、思科模拟器教程了解软件
  6. CISCO模拟器综合应用
  7. unity如何重新生成解决方案_揭秘Sherman:使用Unity制作影视级光照效果
  8. 数据库课程设计-题库管理系统
  9. 离散数学题库管理系统
  10. 豆瓣评论【数据集分享】