库存管理案例(ArrayList集合)

一、案例介绍

现在,将前面文章的库存管理案例,采用更好的集合方式实现。

将对下列功能进行方法封装:

1.打印库存清单功能

2.库存商品数量修改功能

3.退出程序功能

二、案例需求分析

管理员能够进行的操作有3项(查看、修改、退出),我们可以采用(switch)菜单的方式来完成。

-------------库存管理------------

1.查看库存清单

2.修改商品库存数量

3.退出

请输入要执行的操作序号:

每一项功能操作,我们采用方法进行封装,这样,可使程序的可读性增强。

选择“1.查看库存清单”功能,则控制台打印库存清单

选择“2.修改商品库存数量”功能,则对每种商品库存数进行更新

选择“3.退出”功能,则退出库存管理,程序结束

三、实现代码步骤

每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写Goods.java文件

/*

 * 库存商品类

 */

public class Goods {

    String brand; // 商品品牌型号

    double size; // 商品尺寸大小

    double price; // 商品价格

    int count; // 商品库存个数

}

         上述代码中,对商品信息(品牌、尺寸、价格、库存数)进行了封装。这样做的好处在于,以后只要找到这个商品,就能够知道该商品的每项信息了。

         编写Demo库存管理.java,完成如下功能:

1.功能菜单

    /**

     * 库存管理功能菜单

     * 管理员键盘输入的功能操作序号

     */

    public static int chooseFunction() {

        System.out.println("-------------库存管理------------");

        System.out.println("1.查看库存清单");

        System.out.println("2.修改商品库存数量");

        System.out.println("3.退出");

        System.out.println("请输入要执行的操作序号:");

        //接收键盘输入的功能选项序号

        Scanner sc = new Scanner(System.in);

        int choose = sc.nextInt();

        return choose;

    }

         上述方法用来完成库存管理功能菜单的显示、接收管理员选择的功能操作序号。这是完成了案例的第一步。接下来完成“查看、修改、退出”这三项功能。

2.编写main主方法,调用库存管理功能菜单方法,与“查看、修改、退出”这三个方法。

    public static void main(String[] args) {

        //记录库存商品信息

        ArrayList<Goods> list = new ArrayList<Goods>();

        //添加商品到库存

        addStore(list);

       

        //通过while循环模拟管理员进行功能重复选择操作

        while (true) {

            //打印功能菜单操作,接收键盘输入的功能选项序号

            int choose = chooseFunction();

            //执行序号对应的功能

            switch (choose) {

            case 1://查看库存清单

                printStore(list);

                break;

            case 2://修改商品库存数量

                update(list);

                break;

            case 3://退出

                exit();

                return;

            default:

                System.out.println("----------------------------------");

                System.out.println("功能选择有误,请输入正确的功能序号!");

                break;

            }

        }

    }

在主方法中,创建了ArrayList集合,用来存储库存商品信息,通过接收到的功能选项序号,进行switch语句判断后,调用对应的功能方法。

3.查看库存清单功能

    /**

     * 查看库存清单

     */

    public static void printStore(ArrayList<Goods> list) {

        //统计总库存个数、统计库存总金额

        int totalCount = 0;

        double totalMoney = 0.0;

        //列表顶部

        System.out.println("---------------------------查看库存清单--------------------------");

        System.out.println("品牌型号    尺寸 价格 库存数");

        //列表中部

        for (int i = 0; i < list.size(); i++) {

            Goods item = list.get(i);

            System.out.println(item.brand+" "+item.size+"   "+item.price+"    "+ item.count);

            //统计总库存个数、统计库存总金额

            totalCount += item.count;

            totalMoney += item.count * item.price;

        }

        //列表底部

        System.out.println("-------------------------------------------------------------");

        System.out.println("总库存数:"+totalCount);

        System.out.println("库存商品总金额:"+totalMoney);

    }

         上述方法用来完成打印库存清单功能,参数list表示库存商品相关信息集合。

4.修改商品库存数量功能

    /**

     * 修改商品库存数量

     */

    public static void update(ArrayList<Goods> list){

        System.out.println("------------修改商品库存数量-----------");

        for (int i = 0; i < list.size(); i++) {

            Goods item = list.get(i);

            System.out.println("请输入"+ item.brand +"商品库存数量");

            item.count = new Scanner(System.in).nextInt();

            list.set(i, item);

        }

    }

上述方法用来完成修改商品库存数量功能,参数list表示库存商品相关信息集合。

5.退出功能

    /**

     * 退出

     */

    public static void exit(){

        System.out.println("----------------退出---------------");

        System.out.println("您已退出系统");

    }  

         上述方法用来完成退出程序的功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值