欢迎您来到尚观教育——13年运营 精准教学 口碑见证 全国咨询热线:010-62113016

当前位置

Java的库存案例(List)
Java的库存案例(List)
时间:2018-05-21    来源:尚观

这次讲的还是库存案例,但是这次讲的使用的知识点是不一样的,这次讲用方法和List集合实现的。

1.1 案例介绍

现在,我们将原有的库存管理案例,采用更好的集合方式实现。

图片1.png

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

打印库存清单功能

库存商品数量修改功能

退出程序功能

1.2 案例需求分析

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

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

1.查看库存清单

2.修改商品库存数量

3.退出

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

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

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

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

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

1.3 实现代码步骤

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

/*

 * 库存商品类

 */

public class Goods {

    String brand; // 商品品牌型号

    double size; // 商品尺寸大小

    double price; // 商品价格

    int count; // 商品库存个数

}

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

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

功能菜单

/**

 * 库存管理功能菜单

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

 */

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;

}

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

编写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语句判断后,调用对应的功能方法。

查看库存清单功能

/**

 * 查看库存清单

 */

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表示库存商品相关信息集合。

修改商品库存数量功能

/**

 * 修改商品库存数量

 */

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表示库存商品相关信息集合。

退出功能

/**

 * 退出

 */

public static void exit(){

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

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

}

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


分享至: