超市管理系统Java

编程小白一枚,简单的Java小项目;自己的理解实现增删改查。

一、定义商品类

public class Commodity {//定义商品类
    private String proname;//商品名
    private Integer pronum;//商品编号
    private Double proprice;//商品价格
    private Integer procount;//商品数量

    public Commodity() {//无参构造器
    }

    //有参构造器
    public Commodity(String proname, Integer pronum, Double proprice, Integer procount) {
        this.proname = proname;
        this.pronum = pronum;
        this.proprice = proprice;
        this.procount = procount;
    }
    
    //set和get方法
    public String getProname() {
        return proname;
    }

    public void setProname(String proname) {
        this.proname = proname;
    }

    public Integer getPronum() {
        return pronum;
    }

    public void setPronum(Integer pronum) {
        this.pronum = pronum;
    }

    public Double getProprice() {
        return proprice;
    }

    public void setProprice(Double proprice) {
        this.proprice = proprice;
    }

    public Integer getProcount() {
        return procount;
    }

    public void setProcount(Integer procount) {
        this.procount = procount;
    }
    //toString方法
    @Override
    public String toString() {
        return "\t"+pronum +"\t\t"+proname+"\t\t\t"+proprice+"\t\t\t"+procount ;

    }
}

二、定义商品的操作类

public class CommodityOperation {//商品操作类
    ArrayList<Commodity> arrayList=new ArrayList<>();//定义一个List集合存放商品对象
    Scanner scanner=new Scanner(System.in);
    public void addc(){//添加商品
        System.out.println("请输入商品的编号、商品名称、商品价格、商品数量");//通过控制台输入商品信息
        Integer id= scanner.nextInt();
        String name= scanner.next();
        Double price= scanner.nextDouble();
        Integer count=scanner.nextInt();
        Commodity commodity=new Commodity(name,id,price,count);//通过构造器来向商品属性赋值
        arrayList.add(commodity);//将商品对象添加至集合中
        System.out.println("添加成功");
        System.out.println();
    }
    public void findc(){//查询商品
        System.out.println("------------商品库存清单-----------");
        System.out.println("商品编号"+"\t\t"+"商品名称"+"\t\t"+"商品价格"+"\t\t"+"商品数量");
        Iterator<Commodity> iterator=arrayList.iterator();//通过迭代器来遍历集合
        while (iterator.hasNext()){
            Commodity c= iterator.next();
            System.out.println(c);
        }
        System.out.println("---------------------------------");
        System.out.println();
    }
    public void delc(){//根据编号删除商品
        System.out.println("请输入你要删除的商品的编号");
        int id= scanner.nextInt();
        if (arrayList.size()==0){//判断集合是否为空,为空则无法删除
            System.out.println("你要删除的商品不存在");
        }
        else {
            for (int i=0;i<arrayList.size();i++){
                //循环遍历集合,通过商品在集合中存储的下标来删除商品
                if (arrayList.get(i).getPronum()==id){
                //如果输入的商品编号存在,则删除
                    arrayList.remove(i);
                    System.out.println("操作成功,已删除该商品");
                    break;
                }
                else if (i==arrayList.size()-1&&arrayList.get(i).getPronum()!=id){
                //遍历到最后一个商品后,任未找到要删除的商品编号
                    System.out.println("你要删除的商品不存在");
                }
            }
        }
        System.out.println();
    }
    public void updc(){//根据商品的编号修改商品的价格
        System.out.println("请输入你要修改商品的编号");
        int x= scanner.nextInt();
        if (arrayList.size()==0){
            System.out.println("你要修改的商品编号不存在");
        }
        else{
            System.out.println("请输入你要修改商品的价格和数量");
            Double j= scanner.nextDouble();
            Integer z=scanner.nextInt();
            for (int i=0;i< arrayList.size();i++) {
            //循环遍历集合根据编号找到要修改的商品
                if (arrayList.get(i).getPronum()==x){
                    arrayList.get(i).setProprice(j);//用set方法给商品修改价格
                    arrayList.get(i).setProcount(z);//用set方法给商品修改数量
                    System.out.println("操作成功,商品已修改");
                    break;
                }
                else if (i==arrayList.size()-1&&arrayList.get(i).getPronum()!=x){
                    System.out.println("你要修改的商品不存在");
                }
            }
        }
        System.out.println();
    }
    public void findsum(){
        System.out.println("-------商品库存数量及总价-------");
        for (Commodity commodity: arrayList) {
            Integer procount = commodity.getProcount();
            Double sum= commodity.getProprice()*commodity.getProcount();
            System.out.println("商品:"+commodity.getProname()+"\t"+"商品库存:"+procount+"\t"+"商品总价:"+sum);
        }

    }
}

三、主菜单页面

public class Test {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        //调用商品操作类
        CommodityOperation commodityOperation=new CommodityOperation();
        Boolean loop=true;
        while (loop){
            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("请输入你的操作的编号:");
            Integer num= scanner.nextInt();
            switch (num){
                case 1:
                    commodityOperation.findc();
                    break;
                case 2:
                    commodityOperation.addc();
                    break;
                case 3:
                    commodityOperation.delc();
                    break;
                case 4:
                    commodityOperation.updc();
                    break;
                case 5:
                    commodityOperation.findsum();
                    break;
                case 6:
                    System.out.println("确认退出y/n");
                    String s= scanner.next();
                    if (s.equals("y")){
                        System.out.println("退出成功");
                        loop=false;
                    }
                    break;
                default:
                    System.out.println("请输入正确的编号");
            }
        }

    }
}

运行结果如下:

主界面:

 添加货物:

 

 

 查看货物清单:

修改货物:

 

 

 查看库存及总价:

 删除货物:

 

 

 代码还需完善,欢迎评论,一起努力,共同进步。

版权声明:本文为博主作者:会飞的土豆_原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_61454748/article/details/127575323

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2024年1月6日
下一篇 2024年1月6日

相关推荐