简单的商品录入系统

商品录入系统

通过Java基础的相关知识,设计并完成一个简单的商品录入系统,可以实现:菜单显示,商品信息展示,商品信息录入,商品信息查询,退出的功能。

菜单:商品信息展示,商品信息录入,商品信息查询,退出

商品信息:商品编号、名字、库存、

Arr1 [] ={编号1  编号2 编号3}

Arr2 [] ={名字1  名字2 名字3}

Arr3 [] ={库存1  库存2 库存3}

我们在这里运用三个数组来存储输入的商品信息,然后菜单显示,商品信息展示、商品信息录入、商品信息查询、退出一共加起来有五个功能,我们可以定义五个方法来分别实现这些功能,我们先写主函数

public static void main(String[] args) {
        int arr1[] = new int[20];
        String arr2[] = new String[20];
        int arr3[] = new int[20];
        int index=0;
        int h=0;
        //广告语
        System.out.println("欢迎使用系统,请输入下列提示进行操作");
        //调用显示菜单的方法
        showMenu();
        while (true) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入1~4之间的数字代表对应的操作");
            int i = scanner.nextInt();
            switch (i) {
                case 1:
                    goodsInputMethod(arr1, arr2, arr3, index,h);
                    break;
                case 2:
                    goodsShow(arr1, arr2, arr3,h);
                    break;
                case 3:
                    goodsSelsection(arr1, arr2, arr3);
                    break;
                case 4:
                    goodsExit();
                    break;
                default:
                    break;
            }
            if(i>=4){
                break;
            }
        }
    }

商品菜单展示的方法:

 public static void showMenu(){
        String menu[]={"1商品信息展示","2商品信息录入","3商品信息查询","4退出"};
        for (int i = 0; i < menu.length; i++) {
            System.out.println(menu[i]);
        }
    }

然后是商品展示的方法:

private static void goodsShow(int[]arr1,String[]arr2,int[]arr3,int h) {
        int j = 0;
        for (int i = h; i < arr1.length; i++) {
            if (arr1[i] == 0) {
                int a[]=new int[i];
                System.arraycopy(arr1,0,a,0,i);
                for (int k = 0; k < a.length; k++) {
                    System.out.print(a[k]+" ");
                }
                System.out.println();
                break;
            }
        }
        for (int i = h; i < arr2.length; i++) {

            if (arr2[i] == null) {
                String a[]=new String[i];
                System.arraycopy(arr2,0,a,0,i);
                for (int k = 0; k < a.length; k++) {
                    System.out.print(a[k]+" ");
                }
                System.out.println();
                break;
            }
        }
        for (int i = h; i < arr3.length; i++) {
            if (arr3[i] == 0) {
                int a[]=new int[i];
                System.arraycopy(arr3,0,a,0,i);
                for (int k = 0; k < a.length; k++) {
                    System.out.print(a[k]+" ");
                }
                System.out.println();
                break;
            }
        }
    }

商品展示这里,因为我们定义的数组是一个长度为20的数组,但是我们实际上的录入往往不会有二十个数,所以这里我们定义了一个新的数组用来接收录入的数据,其余原数组的数据就不打印了

商品录入方法:

 private static int goodsInputMethod(int[]arr1,String[]arr2,int[]arr3,int index,int h) {
        while (true) {
            System.out.println("请输入商品编号");
            Scanner scanner = new Scanner(System.in);
            int id = scanner.nextInt();
            arr1[index]=id;
            System.out.println("请输入商品的名字");
            String name = scanner.next();
            arr2[index]=name;
            System.out.println("请输入商品的价格");
            int price = scanner.nextInt();
            arr3[index]=price;
            h++;//?
            System.out.println("是否需要继续录入商品,停止录入请按1,继续请按2");
            int i  = scanner.nextInt();
            if (i==1){
                break;
            }else if (i==2){
                index++;
                continue;
            }else {
                System.out.println("输入错误,请输入1(停止)或者2(继续)");
                break;
            }
        }
        //System.out.println(Arrays.toString(arr1));
        return h;
    }

再就是查询方法,这里查询可以根据三个参数来查询,编号,名字,价格都可以用来查询

查询的方法:

 private static void goodsSelsection(int arr1[],String[] arr2,int[] arr3) {
        System.out.println("请输入查询条件 1:编号查询 2:名字查询 3:价格查询");
        Scanner scanner = new Scanner(System.in);
        int selectIf = scanner.nextInt();
        switch (selectIf){
            case 1:
                System.out.println("请输入要查询的编号");
                int id=scanner.nextInt();
                selectByID(id,arr1,arr2,arr3);
                break;
            case 2:
                System.out.println("请输入要查询的名字");
                String name =scanner.next();
                selectByName(name,arr2,arr1,arr3);
                break;
            case 3:
                System.out.println("请输入要查询的价格");
                int price =scanner.nextInt();
                selectByPrice(price,arr3,arr1,arr2);
                break;
            default:
                System.out.println("输入错误");
        }
    }

根据编号查询:

 private static void selectByID(int id,int arr1[],String[]arr2,int[] arr3) {
        for (int i = 0; i <arr1.length; i++) {
            if(arr1[i]==id){
                System.out.print("编号"+arr1[i]+" ");
                System.out.print("名字"+arr2[i]+" ");
                System.out.println("价格"+arr3[i]);
            }
        }
    }

根据价格查询:

 private static void selectByPrice(int price,int []arr3,int[]arr1,String[]arr2) {
        for (int i = 0; i <arr3.length; i++) {
            if(arr3[i]==price){
                System.out.print("编号"+arr1[i]+" ");
                System.out.print("名字"+arr2[i]+" ");
                System.out.println("价格"+arr3[i]);
            }
        }
    }

根据名字查询:

private static void selectByName(String name,String[]arr2,int[] arr1,int[]arr3) {
        for (int i = 0; i <arr2.length; i++) {
                if (name.equals(arr2[i])) {
                    System.out.print("编号" + arr1[i] + " ");
                    System.out.print("名字" + arr2[i] + " ");
                    System.out.println("价格" + arr3[i]);
                }
            }
        }

这里的名字查询中,if判断里面一定要写成name.equals(arr2[i]),如果写成arr2[i].equals(name),会报空指针异常的错误,这里一定的注意,equals方法前面的变量一定不能为空。

运行结果:

欢迎使用系统,请输入下列提示进行操作
1商品信息展示
2商品信息录入
3商品信息查询
4退出
请输入1~4之间的数字代表对应的操作
1
请输入商品编号
1
请输入商品的名字
西瓜
请输入商品的价格
12
是否需要继续录入商品,停止录入请按1,继续请按2
2
请输入商品编号
2
请输入商品的名字
香蕉
请输入商品的价格
16
是否需要继续录入商品,停止录入请按1,继续请按2
2
请输入商品编号
3
请输入商品的名字
苹果
请输入商品的价格
12
是否需要继续录入商品,停止录入请按1,继续请按2
1
请输入1~4之间的数字代表对应的操作
2
1 2 3 
西瓜 香蕉 苹果 
12 16 12 
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
1
请输入要查询的编号
1
编号1 名字西瓜 价格12
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
3
请输入要查询的价格
12
编号1 名字西瓜 价格12
编号3 名字苹果 价格12
请输入1~4之间的数字代表对应的操作
3
请输入查询条件 1:编号查询 2:名字查询 3:价格查询
2
请输入要查询的名字
西瓜
编号1 名字西瓜 价格12


版权声明:本文为weixin_54194900原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。