栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java模拟购物车

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java模拟购物车

构建商品类:

package ShopCar;

public class Goods {
    private int id;
    private String name;//名字
    private double price;//价格
    private int restnum;//剩余数量



    public Goods clone()
    {
        Goods newGood=new Goods();
        newGood.setId(Goods.this.getId());
        newGood.setName(Goods.this.getName());
        newGood.setPrice(Goods.this.getPrice());
        newGood.setRestnum(Goods.this.getRestnum());
        return newGood;

    }

    public Goods(){}
    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public int getRestnum() {
        return restnum;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public void setRestnum(int restnum) {
        this.restnum = restnum;
    }


    public Goods(int id,String name,double price,int restnum) {
        this.id=id;
        this.name=name;
        this.price=price;
        this.restnum=restnum;
    }


}

购物车实现:

package ShopCar;


import java.util.Scanner;

public class ShopCar {

    public static void main(String[] args) {
        Goods[] ShopCar=new Goods[50];
        Goods[] allGoods=new Goods[10];
        creatGoods(allGoods);
        while (true)
        {
            System.out.println("商品展示:");
            showGoods(allGoods);
            System.out.println("请选择操作:");
            System.out.println("添加商品:add");
            System.out.println("删除商品:delete");
            System.out.println("查询购物车商品:show");
            System.out.println("修改商品数量:update");
            System.out.println("结算金额:pay");
            System.out.println("退出:exit");
            Scanner sc=new Scanner(System.in);
            System.out.println("输入命令:");
            String command=sc.next();
            switch (command)
            {
                case"add"->add(ShopCar,allGoods);
                case"delete"->delete(ShopCar,allGoods);
                case"show"->show(ShopCar);
                case"update"->update(ShopCar,allGoods);
                case"pay"->pay(ShopCar);
                case"exit"->System.exit(0);
                default -> System.out.println("无效命令");

            }
        }


    }



    private static void pay(Goods[] shopCar) {

        double pay=0;
        for (int i = 0; i < shopCar.length; i++)
        {
            if(shopCar[i]==null)
                continue;
            else
            {
                pay+=shopCar[i].getPrice()*shopCar[i].getRestnum();
            }

        }
        System.out.println("共需支付"+pay+"元");
        System.out.println("操作结束");



    }

    private static void update(Goods[] shopCar,Goods[] allGoods) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请选择商品序号");
        int id=sc.nextInt();
        if(id<0||id>= allGoods.length)
        {
            System.out.println("无此商品!");
            return;
        }
        for (int i=0;i< shopCar.length;i++)
        {
            if(shopCar[i]==null)
                continue;
            if(shopCar[i].getId()==id)
            {
                allGoods[id].setRestnum(allGoods[id].getRestnum()+shopCar[i].getRestnum());
                System.out.println("请重新输入数量:");
                int num=sc.nextInt();
                if(num<=0||num>allGoods[id].getRestnum())
                {
                    System.out.println("数量选择错误!");
                    return;
                }
                shopCar[i].setRestnum(num);
                allGoods[id].setRestnum(allGoods[id].getRestnum()-num);
                System.out.println("操作结束");
                return;
            }

        }
        System.out.println("购物车中无此商品!");

    }

    private static void show(Goods[] shopCar) {
        for (int i = 0; i < shopCar.length; i++) {
            if(shopCar[i]==null)
                continue;
            System.out.println(shopCar[i].getId()+".名称:"+shopCar[i].getName()+",价格:"+shopCar[i].getPrice()+",数量:"+shopCar[i].getRestnum());
        }
        System.out.println("操作结束");
    }

    private static void delete(Goods[] shopCar,Goods[] allGoods) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请选择商品序号");
        int id=sc.nextInt();
        if(id<0||id>= allGoods.length)
        {
            System.out.println("无此商品!");
            return;
        }
        for (int i=0;i< shopCar.length;i++)
        {
            if(shopCar[i]==null)
                continue;
            if(shopCar[i].getId()==id)
            {
                allGoods[id].setRestnum(shopCar[i].getRestnum()+allGoods[id].getRestnum());
                shopCar[i]=null;
                System.out.println("操作结束");
                return;
            }

        }
        System.out.println("购物车中无此商品!");





    }

    private static void add(Goods[] shopCar, Goods[] allGoods) {

        Scanner sc=new Scanner(System.in);
        System.out.println("请选择商品序号:");
        int id=sc.nextInt();
        if(id<0||id>= allGoods.length)
        {
            System.out.println("无此商品!");
            return;
        }

        //查询购物车中是否已经存在该商品
        for(int i=0;i< shopCar.length;i++)
        {
            if(shopCar[i]==null)
                continue;
            if(shopCar[i].getId()==id)
            {
                System.out.println("该商品已经放入购物车,请修改数量");
                return;
            }
        }
        //查找空位并添加
        for (int pos = 0; pos < shopCar.length; pos++)
        {
            if(shopCar[pos]==null)
            {
                shopCar[pos]=allGoods[id].clone();//需要克隆
                System.out.println("请输入购买数量:");
                int num=sc.nextInt();
                if(num<=0||num>allGoods[id].getRestnum())
                {
                    System.out.println("数量选择错误!");
                    return;
                }
                shopCar[pos].setRestnum(num);
                allGoods[id].setRestnum(allGoods[id].getRestnum()-num);
                System.out.println("操作结束");
                return;
            }

        }
        System.out.println("购物车已满!");

    }

    private static void creatGoods(Goods[] allGoods) {
        allGoods[0]=new Goods(0, "笔记本", 5.00, 6);
        allGoods[1]=new Goods(1,"水杯",7.30,9);
        allGoods[2] =new Goods(2,"零食",6.00,4);
        allGoods[3] =new Goods(3,"橘子",5.00,15);
        allGoods[4]=new Goods(4,"鞋",32.50,100);
        allGoods[5]=new Goods(5,"羽绒服",65.80,28);
        allGoods[6]=new Goods(6,"vivo手机",1580.00,1020);
        allGoods[7]=new Goods(7,"电饭煲",388.00,50);
        allGoods[8]=new Goods(8,"床上用品",98.00,540);
        allGoods[9] =new Goods(9,"伞",9.00,2346);
    }

    private static void showGoods(Goods[] allGoods) {
        for(int i=0;i<10;i++)
        {
            System.out.println(allGoods[i].getId()+".名称:"+allGoods[i].getName()+",价格:"+allGoods[i].getPrice()+",库存:"+allGoods[i].getRestnum());
        }

    }




}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691692.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号