Java实现集合和对象版的商品CRUD管理系统

  1. 对商品信息进行CRUD的维护,数据存放在集合当中,商品要封装在类当中
  2. 功能的选择使用文字菜单完成,每个操作要求有明确的操作提示和结果演示,以及结果演示的暂停
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
//封装商品类
class Goods implements Comparable<Goods>{
    private String gdsNo;
    private String gdsName;
    private double gdsPrice;

    public Goods() {
    }

    public Goods(String gdsNo, String gdsName, double gdsPrice) {
        this.gdsNo = gdsNo;
        this.gdsName = gdsName;
        this.gdsPrice = gdsPrice;
    }

    public String getGdsNo() {
        return gdsNo;
    }

    public void setGdsNo(String gdsNo) {
        this.gdsNo = gdsNo;
    }

    public String getGdsName() {
        return gdsName;
    }

    public void setGdsName(String gdsName) {
        this.gdsName = gdsName;
    }

    public double getGdsPrice() {
        return gdsPrice;
    }

    public void setGdsPrice(double gdsPrice) {
        this.gdsPrice = gdsPrice;
    }

    @Override
    public String toString() {
        return "商品编号:"+this.gdsNo+",商品名称:"+this.gdsName+",商品价格:"+this.gdsPrice;
    }

    @Override
    public int compareTo(Goods o) {
        return this.gdsNo.compareTo(o.gdsNo);
    }
}



//系统功能实现类
class Management {
    private ArrayList<Goods> arrayList = null;
    
	//初始化
    public Management() {
        this.arrayList = new ArrayList<Goods>();
    }
    
    //添加商品
    public void addGoods()
    {
        String gdsNo;
        String gdsName;
        double gdsPrice;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入商品编号:");
        gdsNo = sc.nextLine();
        boolean is_exist = false;
        for(Goods g :arrayList)
        {
            if(g.getGdsNo().equals(gdsNo))
            {
                System.out.println("您输入的商品编号已存在,请重试");
                is_exist = true;
                break;
            }
        }
        if(!is_exist)
        {
            System.out.println("请输入商品名称");
            gdsName = sc.nextLine();
            System.out.println("请输入商品价格");
            gdsPrice = sc.nextDouble();
            arrayList.add(new Goods(gdsNo,gdsName,gdsPrice));
            System.out.println("商品添加成功");
        }
        backMenu();
    }

    //更新商品
    public void updateGoods()
    {
        Goods goods = new Goods();
        System.out.println("请输入您要修改的商品编号");
        String gdsNo;
        Scanner sc = new Scanner(System.in);
        gdsNo = sc.nextLine();
        boolean is_exist = false;
        for(Goods g :arrayList)
        {
            if(g.getGdsNo().equals(gdsNo))
            {
                arrayList.remove(g);
                System.out.println("请输入您要修改的商品名称");
                String gdsName = sc.nextLine();
                System.out.println("请输入您要修改的商品价格");
                Double gdsPrice = sc.nextDouble();
                goods.setGdsNo(gdsNo);
                goods.setGdsName(gdsName);
                goods.setGdsPrice(gdsPrice);
                arrayList.add(goods);
                System.out.println("商品修改成功");
                is_exist = true;
                break;
            }
        }
        if(!is_exist)
        {
            System.out.println("您输入的商品编号不存在,请重试");
        }
        backMenu();
    }
    
    //查询单一商品
    public void seachGoods()
    {
        System.out.println("请输入您要查询的商品编号");
        String gdsNo;
        Scanner sc = new Scanner(System.in);
        gdsNo = sc.nextLine();
        boolean is_exist = false;
        for(Goods g :arrayList)
        {
            if(g.getGdsNo().equals(gdsNo))
            {
                System.out.println(g.toString());
                is_exist = true;
                break;
            }
        }
        if(!is_exist)
        {
            System.out.println("您输入的商品编号不存在,请重试");
        }
        backMenu();
    }
    
    //按照编号排序显示所有商品
    public void showAllGoods()
    {
        Collections.sort(arrayList);
        for(Goods g:arrayList)
        {
            System.out.println(g.toString());
        }
        System.out.println(arrayList.size()+"件商品显示完毕");
        backMenu();
    }
    
    //删除单一商品
    public void deleteGoods()
    {
        System.out.println("请输入您要删除的商品编号");
        String gdsNo;
        Scanner sc = new Scanner(System.in);
        gdsNo = sc.nextLine();
        boolean is_exist = false;
        for(Goods g :arrayList)
        {
            if(g.getGdsNo().equals(gdsNo))
            {
                arrayList.remove(g);
                System.out.println("删除成功");
                is_exist = true;
                break;
            }
        }
        if(!is_exist)
        {
            System.out.println("您输入的商品编号不存在,请重试");
        }
        backMenu();
    }
    
    //删除所有商品
    public void deleteAllGoods()
    {
        System.out.println("您确认删除所有商品信息吗?");
        System.out.println("是:Y   否: N");
        Scanner sc = new Scanner(System.in);
        String line;
        while((line=sc.nextLine())!=null)
        {
            if(line.equals("Y"))
            {
                arrayList.clear();
                System.out.println("删除成功");
                break;
            }
            else if(line.equals("N"))
            {
                System.out.println("删除失败");
                break;
            }
            else
            {
                System.out.println("输入错误,请重试");
            }
        }
        backMenu();
    }
    
    //返回主菜单
    public void backMenu() {
        System.out.println("请输入9返回菜单");
        Scanner sc = new Scanner(System.in);
        String line;
        while((line=sc.nextLine())!=null)
        {
            if(line.equals("9"))
            {
                System.out.println("");
                break;
            }
            else {
                System.out.println("输入错误,请重试");
            }
        }
    }
}


//主测试类
public class MainClass {
    public static void main(String[] args) {
        Management management = new Management();
        Scanner sc = new Scanner(System.in);
        String line;
        while (true) {
            showMenu();
            line = sc.nextLine();
            switch (line) {
                case "1" :
                    management.addGoods();
                    break;
                case "2" :
                    management.updateGoods();
                    break;
                case "3" :
                    management.seachGoods();
                    break;
                case "4" :
                    management.showAllGoods();
                    break;
                case "5" :
                    management.deleteGoods();
                    break;
                case "6":
                    management.deleteAllGoods();
                    break;
                case "7":
                    clear();
                    break;
                case "8" :
                    System.out.println("谢谢使用");
                    System.exit(0);
            }
        }
    }

	//显示主菜单
    private static void showMenu()
    {
        System.out.println("————————欢迎使用商品管理系统————————");
        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.println("7.清空屏幕");
        System.out.println("8.退出系统");
        System.out.println("请输入您的选择:");
    }

	//清空屏幕
    private static void clear() {
        for (int i = 0; i < 30; i++) {
            System.out.println();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿炳的旅程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值