打印库存管理界面:
管理员能够进行的操作有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("修改成功"); } } }