美文网首页程序员
Java控制台物品管理系统

Java控制台物品管理系统

作者: lkee6760 | 来源:发表于2016-12-19 00:05 被阅读378次

    一、功能实现要求

    • 商品初始化
      使用集合的思想,创建自定义集合类型添加物品
    • 制作功能菜单
    • 选择编号,执行不同的功能(每个功能必须定义单独的方法实现)
      1. 查看商品
        像表格一样输出物品信息,并计算出总金额;
      2. 添加商品
        键盘录入要添加的物品编号,并且判断是否与已有的物品编号重复,如果重复提示无法添加,否则提示物品添加成功;
      3. 删除商品
        键盘录入要删除的物品编号,并且判断是否有此物品,如果不存在提示删除的物品不存在,否则提示删除成功;
      4. 修改商品
        键盘录入要修改的物品编号,并且判断是否有此物品,如果不存在提示无此物品,否则调出键盘录入物品的编号、名称、单价、库存数量;
      5. 退出
    • 其它要求:
      • 使用while无限循环功能菜单,直到用户手动终止程序;
      • 键盘录入功能序号,使用switch语句执行相应功能;
      • 尽量保证打印的物品信息整齐;

    二、代码实现

    • 自定义类Goods
    /*
     * 自定义类,描述商品信息
     */
    public class Goods {
        int ID;         //商品编号
        String name;       //商品名称
        double price;     //商品价格
        int number;     //商品数量
    }
    
    • 物品管理系统
    import java.util.ArrayList;
    import java.util.Scanner;
    public class Shopp {
        public static void main(String[] args) {
            // 创建ArrayList集合,存储物品类型,存储数据类型Goods类型
            ArrayList<Goods> array = new ArrayList<Goods>();
            init(array);
    
            while (true) {
                mainMenu();                     //功能菜单
                int key = chooseFunction();     //键盘录入功能编号
                switch (key) {                  //判断执行功能
                case 1:                         
                    read(array);                //查看物品清单
                    break;
                case 2:
                    addGood(array);             //增加物品
                    break;
                case 3:
                    deleteGood(array);          //删除物品
                    break;
                case 4:
                    update(array);              //修改物品
                    break;
                case 5:
                    return;                     //退出功能
                default:
                    System.out.println("您需要的功能不存在!");
                    break;
                }
            }
        }
    
        
        // 定义方法,实现物品数量的初始化 先将一部分数据,存储集合中 返回值:无 参数:集合 方法名:init
        public static void init(ArrayList<Goods> array) {
            Goods g1 = new Goods();     //实例物品1,为成员变量赋值
            g1.ID = 1001;
            g1.name = "铁树树干";
            g1.price = 50;
            g1.number = 11;
    
            Goods g2 = new Goods();     //实例物品2,为成员变量赋值
            g2.ID = 1002;
            g2.name = "贵族圆环";
            g2.price = 175;
            g2.number = 7;
    
            Goods g3 = new Goods();     //实例物品3,为成员变量赋值
            g3.ID = 1003;
            g3.name = "智力斗篷";
            g3.price = 150;
            g3.number = 3;
    
            Goods g4 = new Goods();     //实例物品4,为成员变量赋值
            g4.ID = 1004;
            g4.name = "欢欣之刃";
            g4.price = 1000;
            g4.number = 7;
    
            Goods g5 = new Goods();     //实例物品5,为成员变量赋值
            g5.ID = 1005;
            g5.name = "魔力法杖";
            g5.price = 1000;
            g5.number = 3;
    
            array.add(g1);              //添加物品1到集合
            array.add(g2);              //添加物品2到集合
            array.add(g3);              //添加物品3到集合
            array.add(g4);              //添加物品4到集合
            array.add(g5);              //添加物品5到集合
        }
    
        //打印物品清单
        public static void read(ArrayList<Goods> array) {
            System.out.println("您选择的是物品清单功能");
            double sum = 0;                                 //定义变量,存储物品总金额
            System.out.println("物品编号    物品名称    物品价格    物品数量    总金额");
            for (int i = 0; i < array.size(); i++) {        //遍历集合
                Goods g = array.get(i);
                System.out.println(g.ID + "     " + g.name + "  " + g.price
                        + "                 " + g.number + "        " + g.price * g.number);
                sum = sum + g.price * g.number;             //累加物品总金额
            }
            System.out.println("总金额: " + sum);              //输出总金额
        }
    
        //添加新物品
        public static void addGood(ArrayList<Goods> array) {
            System.out.println("您选择的是物品添加功能");
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入物品编号:");
            int key = sc.nextInt();
            for (int i = 0; i < array.size(); i++) {
                Goods g = array.get(i);
                if (key == g.ID) {                          //判断录入物品序号是否已经存在
                    System.out.println("添加的物品序号与已有序号重复,无法添加!");
                    return;                                 //如果存在则提示无法添加
                }
            }
            //如果存在,则键盘录入新物品的属性
            Goods g = new Goods();
            g.ID = key;
            System.out.println("请输入物品的名称:");
            g.name = sc.next();
            System.out.println("请输入物品的单价:");
            g.price = sc.nextDouble();
            System.out.println("请输入物品的数量:");
            g.number = sc.nextInt();
            array.add(g);
            System.out.println("物品添加成功!");
        }
    
        //删除指定的物品
        public static void deleteGood(ArrayList<Goods> array) {
            System.out.println("您选择的是删除功能");
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入删除物品的编号");
            int key = sc.nextInt();
            for (int i = 0; i < array.size(); i++) {
                Goods g = array.get(i);
                //如果输入的物品编号存在则删除该编号所对应的物品,并提示删除成功
                if (key == g.ID) {
                    array.remove(i);
                    System.out.println("删除成功!");
                    return;
                }
            }
            //如果输入的物品编号不存在,则提示删除的物品不存在
            System.out.println("删除的物品不存在");
        }
    
        //修改物品信息
        public static void update(ArrayList<Goods> array) {
            System.out.println("您选择的是修改功能");
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入修改物品所对应的编号");
            int key = sc.nextInt();
            for (int i = 0; i < array.size(); i++) {
                Goods g = array.get(i);
                //如果输入的物品编号存在,则键盘录入物品的新属性值,否则提示无此物品
                if (g.ID == key) {
                    System.out.println("请输入修改物品的新编号:");
                    g.ID = sc.nextInt();
    
                    System.out.println("请输入修改物品的新名字:");
                    g.name = sc.next();
    
                    System.out.println("请输入修改物品的新单价:");
                    g.price = sc.nextDouble();
    
                    System.out.println("请输入修改物品的新数量:");
                    g.number = sc.nextInt();
                    return;
                }
            }
            System.out.println("无此物品!");
        }
    
        //功能菜单
        public static void mainMenu() {
            System.out.println();
            System.out.println("------------   欢迎光临地下超市   ------------");
            System.out.println("1.查看物品  2.添加物品  3.删除物品  4.修改物品  5退出");
            System.out.println("请输入功能序号:");
        }
    
        //键盘录入功能菜单的编号
        public static int chooseFunction() {
            Scanner sc = new Scanner(System.in);
            return sc.nextInt();
        }
    }
    

    相关文章

      网友评论

        本文标题:Java控制台物品管理系统

        本文链接:https://www.haomeiwen.com/subject/ncpzmttx.html