商场库存清单练习

观察清单后,可将清单分解为三个部分(清单顶部、清单部、清单部)

 

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

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

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

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

尺寸:物品大小,double

价格:物品单价,double

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

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

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

扫描二维码关注公众号,回复: 6332854 查看本文章

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

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

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

import java.util.Scanner;
import java.util.ArrayList;

public class Menu {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        ArrayList<Goods> list=new ArrayList<Goods>();
        while(true){
            mainMenu();    
            int choose=sc.nextInt();
            switch(choose){
            case 1:
//                货物清单
                getGoods(list);
                break;
            case 2:
                deleteGoods(list);
                break;
            case 3:
//                添加货物
                addGoods(list);
                break;
            case 4:
                updateGoods(list);
                break;
            case 5:
                return;
                default:
                    System.out.println("您的输入有误,重新输入");
                    break;
            
            }
            
        }
        
    }
    
    public static void mainMenu() {
        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 addGoods(ArrayList<Goods>list){
        System.out.println("请输入新水果的编号");
        Scanner sc=new Scanner(System.in);
        int gid=sc.nextInt();
        System.out.println("请输入新水果的名称");
        String gname=sc.next();
        System.out.println("请输入新水果的价格");
        double prise=sc.nextDouble();
//        吧属性封装到商品对象中
        Goods goods=new Goods();
        goods.gid=gid;
        goods.gname=gname;
        goods.prise=prise;
//        将对象存入集合
        list.add(goods);
        
    }
    
    public static void getGoods(ArrayList<Goods> list){
        System.out.println("=====商品库存清单========");
        System.out.println("商品编号\t商品名称\t商品单价");
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i).gid+"\t"+list.get(i).gname+"\t"+list.get(i).prise);
            
        }    
    }
    public static void updateGoods(ArrayList<Goods> list){
        getGoods(list);
        System.out.println("请输入你要修改的商品编号");
        Scanner sc=new Scanner(System.in);
        int gid=sc.nextInt();
        System.out.println("请输入你要修改的商品名称");
        String gname=sc.next();
        System.out.println("请输入你要修改的商品价格");
        double prise=sc.nextDouble();
        for(int i=0;i<list.size();i++){
            if(list.get(i).gid==gid){
                list.get(i).gname=gname;
                list.get(i).prise=prise;
            }
            
        }
    }
    public static void deleteGoods(ArrayList<Goods> list){
        getGoods(list);
        System.out.println("");
        Scanner sc=new Scanner(System.in);
        int gid=sc.nextInt();
        for(int i=0;i<list.size();i++){
            if(list.get(i).gid==gid){
                list.remove(i);
            }
            
        }
    }
}
打印结果为:
 

猜你喜欢

转载自www.cnblogs.com/-lwl/p/10963268.html