JavaSE项目-库存管理-利用ArrayList的增删改查

库存管理

项目描述

在这里插入图片描述

代码

/**
 * @ClassName StockManagement
 * @Description 库存管理
 * @Author LiHao
 * @Date 2022/8/29 17:12
 * @Version 1.0
 */
class Product {
    private String version;//品牌型号
    private double size;//尺寸
    private double price;//价格
    private int count;//库存数

    public Product(String version, double size, double price, int count) {

        this.version = version;
        this.size = size;
        this.price = price;
        this.count = count;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public double getSize() {
        return size;
    }

    public void setSize(double size) {
        this.size = size;
    }

    public double getPrice() {
        return price;
    }

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

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}

public class StockManagement {
    public static void main(String[] args) {
        //实例化商品信息
        Product mac = new Product("MacBookAir", 13.3, 6988.88, 5);
        Product pad = new Product("ThinkPadT450", 14.0, 5999.99, 10);
        Product asus = new Product("ASUS-FL5800", 15.6, 4999.5, 18);
        //将商品信息放入到list集合中
        ArrayList<Product> list = new ArrayList<Product>();
        list.add(mac);
        list.add(pad);
        list.add(asus);
        while (true) {
            System.out.println("-------------------库存管理_LiHao-------------------");
            System.out.println("1.查看库存清单");
            System.out.println("2.修改商品库存数量");
            System.out.println("3.退出");
            System.out.println("请输入要执行的操作序号");


            Scanner scanner = new Scanner(System.in);
            int choose = scanner.nextInt();//输入的操作序号
            switch (choose) {
                case 1:
                    showStock(list);
                    break;
                case 2:
                    updateStock(list);
                    break;
                case 3:
                    System.out.println("您已退出");
                    System.exit(0);
                    return;
                default:
                    System.out.println("请输入正确的操作序号");
                    System.out.println();
                    break;
            }
        }
    }

    /**
     * @return void
     * @Author LiHao
     * @Description 修改商品库存数量
     * @Date 19:04 2022/8/29
     * @Param [list]
     */
    private static void updateStock(ArrayList<Product> list) {
        System.out.println();
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入您要修改的商品编号");
            int productId = scanner.nextInt();//需要进行修改的商品编号
            if (productId > 0 && productId <= list.size()) {//判断输入的商品编号合法
                System.out.println("请输入你要修改的库存数量");
                int afterCount = scanner.nextInt();//修改之后的库存数量

//                list.get(productId-1).getCount() = afterCount;
                /*
                报错:意外类型需要变量找到值  原因是=左边返回的是一个值,=右边返回的也是一个值
                 */

                list.get(productId - 1).setCount(afterCount);
                System.out.println();
                break;
            } else {
                System.out.println("请输入合法的商品编号");
            }
        }
    }

    /**
     * @return void
     * @Author LiHao
     * @Description 查看库存清单
     * @Date 17:57 2022/8/29
     * @Param [list]
     */
    private static void showStock(ArrayList<Product> list) {
        System.out.println("--------------------商城库存清单----------------------------");
        //打印库存清单
        System.out.println("编号\t品牌型号\t尺寸\t价格\t\t库存数");
        for (int i = 0; i < list.size(); i++) {//遍历list集合,打印输出库存清单
            System.out.println(" " + (i + 1) + "\t" + list.get(i).getVersion() + "\t" + list.get(i).getSize() + "\t" + list.get(i).getPrice() + "\t\t" + list.get(i).getCount());
        }
        System.out.println("------------------------------------------------------------");

        int sumCount = 0;//总库存数
        for (int i = 0; i < list.size(); i++) {//商品库存数量的总和
            sumCount += list.get(i).getCount();
        }
        System.out.println("总库存数:" + sumCount);

        double sumPrice = 0;//库存商品总金额
        for (int i = 0; i < list.size(); i++) {//【商品价格*库存数量】的总和
            sumPrice += list.get(i).getPrice() * list.get(i).getCount();
        }
        System.out.println("库存商品总金额:" + sumPrice);
        System.out.println();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值