• 08_java超市管理系统


    超市管理系统功能介绍

    * A:超市管理系统功能介绍
        * a: 显示主菜单
        
            ============欢迎光临ItCast超市============
            1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出
            请您输入要操作的功能序号
            
        * b: 货物清单
        
            输入1:货物清单
            ================商品库存清单================
            商品编号         商品名称                商品单价
            9527            少林寺酥饼核桃            12.7
            9008            尚康杂粮牡丹饼            5.6
            9879            新疆原产哈密瓜             599.6
            
        * c: 添加新货物
        
            输入2:添加新货物   
            
            请输入新商品的编号:9523
            请输入新商品的名字:斯柯达苹果醋
            请输入新商品的单价:19.9
            商品添加成功
            
        * d: 删除货物
        
            输入3:删除货物
            
            选择的是删除功能
            请输入商品的编号:9523
            货物信息删除完毕
            
        * e: 修改货物
        
            输入4:修改货物
            
            选择的是修改功能
            请输入您要修改的商品的编号:9527
            输入新的商品编号:100
            输入新的商品名字:味道好凤梨干
            输入新的商品价格:6.5
            商品修改成功
        * f: 输入5:退出系统

    超市管理系统案例分析

    * A: 超市管理系统案例分析

    •   * 完成超市商品初始化。创建商品,将商品添加到集合
    • * 显示来到超市能做的操作,也就是显示主菜单
    • * 根据接收到的功能选项,执行对应的功能
    • * 库存货物查询
    • * 添加新货物
    • * 删除货物
    • * 修改货物
    • * 退出系统,结束main方法的运行
    • * 循环,回到 2.显示主菜单

    自定义商品类

    * A: 自定义商品类
        * a: 目的
            * 每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件
        * b:案例代码
            public class FruitItem {
                int  ID;            //商品编号
                String  name;       //商品名称
                double  price;      //商品单价
                double  number;     //商品数量
                double  money;      //商品金额
            }
        * 补充
            * 上述代码中,对商品信息(编号、名称、单价、数量、金额)进行了封装。这样做的好处在于以后只要找到这个商品,就能够知道该商品的每项信息了。

    初始化商品属性

    * A: 初始化商品属性
        * a: 案例代码
            import java.util.ArrayList;
            import java.util.Scanner;
    ​
            /*
             *   超市管理系统主
             *   实现:
             *     1. 商品数据的初始化
             *     2. 用户的菜单选择
             *     3. 根据选择执行不同的功能
             *       3.1 Read    查看商品
             *       3.2 Create  添加商品
             *       3.3 Delete  删除商品
             *       3.4 Update  修改商品
             *       
             *       
             *   所有功能 ,必须定义方法实现
             *   主方法main  调用作用
             */
            public class Shopp {
    ​
                public static void main(String[] args) {
                    //创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
                    ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                    //调用商品初始化方法,传递集合
                    init(array);
                    
                    }
                }   
                /*
                 * 定义方法,实现商品数据的初始化
                 * 先将一部分数据,存储集合中
                 * 返回值: 无
                 * 参数 : 集合
                 * 方法名: init
                 */
                public static void init(ArrayList<FruitItem> array){
                    //创建出多个FruitItem类型,并且属性赋值
                    FruitItem f1 = new FruitItem();
                    f1.ID = 9527;
                    f1.name = "少林寺酥饼核桃";
                    f1.price = 12.7;
                    
                    FruitItem f2 = new FruitItem();
                    f2.ID = 9008;
                    f2.name = "尚康杂粮牡丹饼";
                    f2.price = 5.6;
                    
                    FruitItem f3 = new FruitItem();
                    f3.ID = 9879;
                    f3.name = "新疆原产哈密瓜";
                    f3.price = 599.6;
                    
                    //创建的3个FruitItem类型变量,存储到集合中
                    array.add(f1);
                    array.add(f2);
                    array.add(f3);
                }
                
            }

    主菜单功能

    * A: 主菜单功能
        * a: 案例代码
            
            import java.util.ArrayList;
            import java.util.Scanner;
            /*
             *   超市管理系统主
             *   实现:
             *     1. 商品数据的初始化
             *     2. 用户的菜单选择
             *     3. 根据选择执行不同的功能
             *       3.1 Read    查看商品
             *       3.2 Create  添加商品
             *       3.3 Delete  删除商品
             *       3.4 Update  修改商品
             *       
             *       
             *   所有功能 ,必须定义方法实现
             *   主方法main  调用作用
             */
            public class Shopp {
    ​
                public static void main(String[] args) {
                    //创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
                    ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                    //调用商品初始化方法,传递集合
                    init(array);
                    while(true){
                        //调用菜单方法
                        mainMenu();         
                    }
                }   
                /*
                 * 定义方法,实现主菜单
                 * 提示用户哪些选择 让选择序号
                 * 返回值: 无
                 * 参数: 无
                 */
                public static void mainMenu(){
                    System.out.println();
                    System.out.println("============欢迎光临ItCast超市============");
                    System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");
                    System.out.println("请您输入要操作的功能序号");
                }
                
                /*
                 * 定义方法,实现商品数据的初始化
                 * 先将一部分数据,存储集合中
                 * 返回值: 无
                 * 参数 : 集合
                 * 方法名: init
                 */
                public static void init(ArrayList<FruitItem> array){
                    //创建出多个FruitItem类型,并且属性赋值
                    FruitItem f1 = new FruitItem();
                    f1.ID = 9527;
                    f1.name = "少林寺酥饼核桃";
                    f1.price = 12.7;
                    
                    FruitItem f2 = new FruitItem();
                    f2.ID = 9008;
                    f2.name = "尚康杂粮牡丹饼";
                    f2.price = 5.6;
                    
                    FruitItem f3 = new FruitItem();
                    f3.ID = 9879;
                    f3.name = "新疆原产哈密瓜";
                    f3.price = 599.6;
                    
                    //创建的3个FruitItem类型变量,存储到集合中
                    array.add(f1);
                    array.add(f2);
                    array.add(f3);
                }
                
            }

    用户选择功能

    * A: 用户选择功能
        * a: 案例代码
            import java.util.ArrayList;
            import java.util.Scanner;
    ​
            /*
             *   超市管理系统主
             *   实现:
             *     1. 商品数据的初始化
             *     2. 用户的菜单选择
             *     3. 根据选择执行不同的功能
             *       3.1 Read    查看商品
             *       3.2 Create  添加商品
             *       3.3 Delete  删除商品
             *       3.4 Update  修改商品
             *       
             *       
             *   所有功能 ,必须定义方法实现
             *   主方法main  调用作用
             */
            public class Shopp {
    ​
                public static void main(String[] args) {
                    //创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
                    ArrayList<FruitItem> array = new ArrayList<FruitItem>();
                    //调用商品初始化方法,传递集合
                    init(array);
                    while(true){
                        //调用菜单方法
                        mainMenu();
                        //调用用户选择序号方法
                        int choose = chooseFunction();
                        switch (choose) {
                        case 1:
                            //调用1: 货物 清单
                            showFruitList(array);
                        break;
                        
                        case 2:
                            //2: 添加货物
                            addFruit(array);
                        break;
                        
                        case 3:
                            //3: 删除货物
                            deleteFruit(array);
                        break;
                        
                        case 4:
                            //4: 修改货物
                            updateFruit(array);
                        break;
                        
                        case 5:
                            return ;
    ​
                        default:
                            System.out.println("输入的序号没有");
                            break;
                        }
                    }
                }   
                /*
                 *  定义方法,实现接受用户的键盘输入
                 *  返回编号
                 */
                public static int chooseFunction(){
                    Scanner sc = new Scanner(System.in);
                    return sc.nextInt();
                }
                
                /*
                 * 定义方法,实现主菜单
                 * 提示用户哪些选择 让选择序号
                 * 返回值: 无
                 * 参数: 无
                 */
                public static void mainMenu(){
                    System.out.println();
                    System.out.println("============欢迎光临ItCast超市============");
                    System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");
                    System.out.println("请您输入要操作的功能序号");
                }
                
                /*
                 * 定义方法,实现商品数据的初始化
                 * 先将一部分数据,存储集合中
                 * 返回值: 无
                 * 参数 : 集合
                 * 方法名: init
                 */
                public static void init(ArrayList<FruitItem> array){
                    //创建出多个FruitItem类型,并且属性赋值
                    FruitItem f1 = new FruitItem();
                    f1.ID = 9527;
                    f1.name = "少林寺酥饼核桃";
                    f1.price = 12.7;
                    
                    FruitItem f2 = new FruitItem();
                    f2.ID = 9008;
                    f2.name = "尚康杂粮牡丹饼";
                    f2.price = 5.6;
                    
                    FruitItem f3 = new FruitItem();
                    f3.ID = 9879;
                    f3.name = "新疆原产哈密瓜";
                    f3.price = 599.6;
                    
                    //创建的3个FruitItem类型变量,存储到集合中
        array.add(f1);
        array.add(f2);
        array.add(f3);
        }
    
        }

    商品的清单功能

    * A: 商品的清单功能
        * a: 案例代码(显示商品清单的showFruitList(ArrayList<FruitItem>)方法的代码如下)
            /*
             *  定义方法,实现显示货物清单功能
             *  返回值: 无
             *  参数: 集合
             *  遍历集合,获取集合中的每个FruitItem变量,变量,调用属性
             */
            public static void showFruitList(ArrayList<FruitItem> array){
                System.out.println();
                System.out.println("================商品库存清单================");
                System.out.println("商品编号         商品名称                商品单价");
                //遍历集合
                for(int i = 0 ; i < array.size(); i++){
                    //集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
                    FruitItem item = array.get(i);
                    //变量item调用类中属性
                    System.out.println(item.ID+"   "+item.name+"        "+item.price);
                }
            }

    商品的添加功能

    * A: 商品的添加功能
        * a: 案例代码(商品添加功能的addFruit(ArrayList<FruitItem>)方法的代码如下)
            /*
             * 定义方法,实现商品的添加功能
             * 返回值:无
             * 参数: 集合
             * 提示用户选择的是添加商品的功能
             * 
             * 提示用户输入的是什么
             * 
             * 创建FruitItem变量,变量调用的属性
             * 将输入的每个商品属性进行赋值
             */
            public static void addFruit(ArrayList<FruitItem> array){
                System.out.println("选择的是添加商品功能");
                //创建Scanner变量
                Scanner sc = new Scanner(System.in);
                System.out.print("请输入新商品的编号:");
                //输入商品的编号
                int ID = sc.nextInt();
                //输入商品的名字
                System.out.print("请输入新商品的名字:");
                String name = sc.next();
                //输入商品的单价
                System.out.print("请输入新商品的单价:");
                double price = sc.nextDouble();
                //创建FruitItem变量
                FruitItem item = new FruitItem();
                //item.属性赋值
                item.ID = ID;
                item.name = name;
                item.price = price;
                array.add(item);
                System.out.println("商品添加成功");
            }

    商品的删除功能

    * A: 商品的删除功能(删除商品deleteFruit(ArrayList<FruitItem>)方法的代码如下)
        * a: 案例代码
            /*
             *  定义方法,实现商品的删除功能
             *  返回值: 无
             *  参数: 集合
             *  
             *  删除依靠的是商品的编号
             *  提示用户选择的是删除功能
             *  键盘输入商品的编号
             *  遍历集合,获取集合中的每个FruitItem变量
             *  变量调用属性 ID, 和用户的输入的编号,对比,相同就删除
             */
            public static void deleteFruit(ArrayList<FruitItem> array){
                System.out.println("选择的是删除功能");
                System.out.print("请输入商品的编号:");
                Scanner sc = new Scanner(System.in);
                
                int ID = sc.nextInt();
                //遍历集合
                for(int i = 0 ; i < array.size(); i++){
                    //获取到每个FruitItem变量
                    FruitItem item = array.get(i);
                    //变量,调用属性ID,和用户输入的编号比较
                    if( item.ID == ID){
                        //移除集合中的元素
                        //集合的方法remove实现
                        array.remove(i);
                        System.out.println("删除成功");
                        return;
                    }
                }
                System.out.println("你输入的编号不存在");
            }

    商品的修改功能

    * A: 商品的修改功能
        * a: 案例代码(修改商品updateFruit(ArrayList<FruitItem>)方法的代码如下)
            /*
             *  定义方法,实现商品的修改功能
             *  返回值: 无
             *  参数: 集合
             *  
             *  提示用户选择的是修改功能
             *  提示用户输入需要修改的商品编号
             *  遍历集合,获取每个FruitItem变量
             *  变量调用ID属性,属性和用户输入的编号比较
             *  如果相同:
             *    修改调FruitItem中的属性值
             *    键盘输入
             */
            public static void updateFruit(ArrayList<FruitItem> array){
                System.out.println("选择的是修改功能");
                System.out.print("请输入您要修改的商品的编号:");
                
                Scanner sc = new Scanner(System.in);
                int ID = sc.nextInt();
                //遍历集合,获取每个FruitItem变量
                for(int i = 0 ; i < array.size(); i++){
                    FruitItem item = array.get(i);
                    //获取FruitItem的属性ID,和用户输入的ID比较
                    if(item.ID == ID){
                        System.out.print("输入新的商品编号:");
                        item.ID = sc.nextInt();
                        
                        System.out.print("输入新的商品名字:");
                        item.name = sc.next();
                        
                        System.out.print("输入新的商品价格:");
                        item.price = sc.nextDouble();
                        System.out.println("商品修改成功");
                        return ;
                    }
                }
                System.out.println("输入的编号不存在");
            }
  • 相关阅读:
    Log4j中conversionPattern的含义
    log4j.xml写入数据库,只有SQL和参数,无其他信息
    windows下根据进程ID强制杀死进程
    github简单使用教程
    junit mockito
    获取oracle 随机数
    循环插入oracle 存储过程
    2.1. 创建GitHub账号
    oracle 复制表结构表数据
    命令模式
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/9969313.html
Copyright © 2020-2023  润新知