• 超市管理案例分析


    打印库存管理界面:

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

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

    1、查看货物清单

    2、添加新货物

    3、删除货物

    4、修改货物

    5、退出系统

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

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

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

    选择 2 添加新货物

    选择 3 删除货物

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

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

    库存清单:

    l 1.清单顶部为固定的数据,直接打印即可

    l 2.清单中部为商品,为变化的数据,需要记录商品信息后,打印

    经过观察,我们确定一项商品应该有如下几个属性:

    品牌型号: 即商品名称,String

    尺寸:物品大小,double

    价格:物品单价,double

    配置:这一项为每种商品的配置信息,String

    库存数:这一项为每种商品的库存个数,int

    l 3.清单底部包含了统计操作,需经过计算后,打印

    我们发现两个单独的可变化量

    总库存数:所有商品总个数,int

    库存商品总金额:所有商品金额,double

    package com.orcal.demo01;
    
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Store {
    
        public static void main(String[] args) {
    
            ArrayList<Goods> list =new ArrayList<Goods>();
            init(list);
            Scanner sc=new Scanner(System.in);
            while(true){
            show();
            int choose =sc.nextInt();
            switch(choose){
            case 1:
                getgoods(list);
                break;
            case 2:
                getgoods(list);
                add(list);
                break;
            case 3:
                getgoods(list);
                delete(list);
                break;
            case 4:
                getgoods(list);
                update(list);
                break;
            case 5:
                return;
            default :
                System.out.println("您的输入有误,请重新输入!");
            }
            
            }
        }
        public static void show(){
            System.out.println("===============欢迎光临Oracle超市===============");
            System.out.println("1:货物清单");
            System.out.println("2:添加新货物");
            System.out.println("3:删除货物");
            System.out.println("4:修改货物");
            System.out.println("5:退出系统");
            System.out.println("请输入要操作的功能序号");        
        }
        public static void init(ArrayList<Goods> list){
            Goods g1=new Goods();
            g1.goodsid=9001;
            g1.goodsname="少林寺酥饼核桃";
            g1.price=120.0;
            
            Goods g2=new Goods();
            g2.goodsid=9002;
            g2.goodsname="焦庄烧饼";
            g2.price=20.0;
            
            Goods g3=new Goods();
            g3.goodsid=9003;
            g3.goodsname="周村烧饼";
            g3.price=60.6;
            list.add(g1);
            list.add(g2);
            list.add(g3);
        }
        public static void getgoods(ArrayList<Goods> list){
            System.out.println("==============商品库存清单=============");
            System.out.println("商品编号	商品名称	商品价格");
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i).goodsid+"	"+list.get(i).goodsname+"	"+list.get(i).price);
                
            }
        }
        //添加商品方法
        public static void add(ArrayList<Goods> list){
            Scanner sc=new Scanner(System.in);
            Goods gg=new Goods();
            
            boolean faile=true;
            System.out.println("请输入要添加的新的商品编号");
            int newid=sc.nextInt();
            
            /*while(faile){
                System.out.println("请输入要添加的新的商品编号");
                int newid=sc.nextInt();
                for (int i = 0; i < list.size(); i++) {
                    if(newid==list.get(i).goodsid){
                        System.out.println("该商品编号已存在,请重新输入");
                    }else{
                        newid=sc.nextInt();
                        faile=false;
                    }
                    
                }
                
            }*/
            
            System.out.println("请输入要添加的商品名称");
            String newname=sc.next();
            System.out.println("请输入要添加的商品价格");
            double newprice=sc.nextDouble();
            gg.goodsid=newid;
            gg.goodsname=newname;
            gg.price=newprice;
            list.add(gg);
            System.out.println("添加成功");    
        }
        //删除商品方法
        public static void delete(ArrayList<Goods> list){
            System.out.println("请输入要删除的商品编号");
            Scanner sc=new Scanner(System.in);
            int goodid=sc.nextInt();
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i).goodsid==goodid) {
                    list.remove(i);                
                }            
            }
            
        }
        //修改商品方法
        public static void update(ArrayList<Goods> list){
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入要修改的商品编号");
            int goodid=sc.nextInt();
            System.out.println("请输入要修改的新的商品编号");
            int newid=sc.nextInt();
            System.out.println("请输入要修改的商品名称");
            String newname=sc.next();
            System.out.println("请输入要修改的商品价格");
            double newprice=sc.nextDouble();
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i).goodsid==goodid) {
                    list.get(i).goodsid=newid;
                    list.get(i).goodsname=newname;
                    list.get(i).price=newprice;
                }else{
                    System.out.println("没有该商品编号");
                }
            System.out.println("修改成功");    
            }
            
            
        }
    
    }
  • 相关阅读:
    利用Delegator模式保护javascript程序的核心与提高执行性能 (转)
    工作流
    蓝色垂直滑动效果的CSS导航
    JavaScript 多级联动浮动菜单 (第二版) (转)
    虚线效果水平CSS菜单
    红色玻璃效果水平CSS菜单
    CSS绿色水平多级下拉菜单
    ASP.NET中的Path(转)
    黑色与红色形成的水平CSS导航菜单
    紫罗兰水平CSS菜单
  • 原文地址:https://www.cnblogs.com/dk2557/p/9347247.html
Copyright © 2020-2023  润新知