JAVA小项目--商品管理系统

项目概述:

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

学习目的:

主要是对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("修改名称成功!");

                }
            }
        }
    }

  • 20
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值