黑马程序员技术交流社区

标题: Day08 在Eclipse中重构 超市货物库存管理 [打印本页]

作者: gqx1990    时间: 2016-8-25 12:25
标题: Day08 在Eclipse中重构 超市货物库存管理
import java.util.ArrayList;
import java.util.Scanner;
public class Supermarket {
        public static void main(String[] args) {
                ArrayList<Goodsitem> list = new ArrayList<Goodsitem>();
                //以下为各方法调用
                init(list);
                while (true) {
                        mainMenu();//此处为显示主菜单
                        int n = chooseFunction();//此处为录入客户的输入序号
                        switch (n) {
                        case 1://1 选择货物清单,此处调用
                                goodsList(list);                       
                                break;
                        case 2://2 添加新货物
                                addGoods(list);
                                break;
                        case 3://3 删除货物
                                deleteGoods(list);
                                break;
                        case 4://修改货物
                                modifyGoods(list);
                                break;
                        case 5://退出
                                return ;
                        default:
                                System.out.println("您输入的序号不存在!!");
                                break;
                        }
                }
        }
        //方法1,此处需要存储三种商品的信息
        public static void init(ArrayList<Goodsitem> list) {
                Goodsitem g1 = new Goodsitem();
                g1.name = "五仁月饼";
                g1.ID = 1001;
                g1.price = 15.6;
               
                Goodsitem g2 = new Goodsitem();
                g2.name = "糖水罐头";
                g2.ID = 1002;
                g2.price = 9.9;
               
                Goodsitem g3 = new Goodsitem();
                g3.name = "东北大米";
                g3.ID = 1003;
                g3.price = 39.9;
               
                list.add(g1); //将商品信息添加到集合中               
                list.add(g2);               
                list.add(g3);
        }
        //方法2:此处设置选择菜单
        public static void mainMenu() {
                System.out.println("=====欢迎光临itCast超市=====");
                System.out.println("1.货物清单  2.添加新货物  3.删除货物  4.修改货物  5.退出系统");
                System.out.println("请输入您要选择的功能序号");
        }
        //方法3:录入客户的输入请求
        public static int chooseFunction() {
                Scanner sc = new Scanner(System.in);
                int n = sc.nextInt();
                return n;
        }
        //方法4:此处需要打印欢迎界面以及货物清单
        public static void goodsList(ArrayList<Goodsitem> list) {
                System.out.println("=====商品库存管理=====");
                System.out.println("商品编号  商品名称 商品单价");
                //此处需要打印获取清单,即遍历集合
                for (int i = 0; i < list.size(); i++) {
                        Goodsitem good = list.get(i);  //获取集合中索引为i的元素信息
                        System.out.println(good.ID+good.name+good.price);
                }
        }
        //方法5:添加新货物
        public static void addGoods(ArrayList<Goodsitem> list) {
                System.out.println("请输入货物的ID");
                Scanner sc = new Scanner(System.in);//键盘录入多个数据,创建一个键盘录入实例即可
                int id1 = sc.nextInt();
                System.out.println("请输入货物的name");
                String name1 = sc.next();
                System.out.println("请输入货物的price");
                Double price1 = sc.nextDouble();
                Goodsitem goods = new Goodsitem();
                goods.ID = id1;
                goods.name = name1;
                goods.price = price1;
                list.add(goods);//保存goods商品到集合
        }
        //方法6:删除货物
        public static void deleteGoods(ArrayList<Goodsitem> list) {
                System.out.println("请输入要删除的货物ID");
                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();
                //此处需要遍历集合,找到ID为num的元素
                for (int i = 0; i < list.size(); i++) {
                        Goodsitem deteleGoods = list.get(i);
                        if (deteleGoods.ID==num) {
                                list.remove(i);  //删除索引为i的元素
                                System.out.println("删除货物成功!");
                                return;  //此处如果是break,后面的没有找打ID,依然会执行。
                        }
                }
                System.out.println("警告:没有找到此ID");//词句如果加在if后的else内部,会输出三遍
        }
        //方法7:修改货物信息
        public static void modifyGoods(ArrayList<Goodsitem> list) {
                System.out.println("请输入要修改货物的ID");
                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();
                for (int i = 0; i < list.size(); i++) {
                        Goodsitem modifyGoods = list.get(i);
                        if (modifyGoods.ID==num) {
                                System.out.println("请输入新货物ID");
//                                modifyGoods.ID =sc.nextInt();
                                int ID = sc.nextInt();
                                System.out.println("请输入新货物name");
//                                modifyGoods.name =sc.next();
                                String name = sc.next();
                                System.out.println("请输入新货物price");
//                                modifyGoods.price =sc.nextDouble();
                                Double price = sc.nextDouble();
                               
                                modifyGoods.ID = ID;
                                modifyGoods.name = name;
                                modifyGoods.price = price;
                                System.out.println("商品信息更新完成");
                                return ;
                        }
                }
                System.out.println("输入的编号不存在");
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2