【java】十分简易的商品系统

商品录入系统

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

package cn.ycx.exec;

import java.util.Scanner;
import java.util.regex.*;   //正则表达式
//商品录入系统
//通过java基础的相关知识,设计并完成一个简单的商品录入系统,
// 可以实现:菜单显示、商品信息展示、商品信息录入、商品信息查询、退出的功能
public class exec09 {
    //成员变量
    static String[] names = {"iPhoneX5","华为 Mate 20 pro","小米x","vivo NEX","oppo Find"};
    static double[] prices = {8999,5399,2399,4399,3999};
    static int[] numbers = {50,20,80,120,90};

    public static void main(String[] args){
        /*
         *-------------------------------------
         * 1. 商品列表
         * 2. 商品录入
         * 3. 商品查询
         * 4. 统计信息
         * 5. 推出
         * ------------------------------------
         * 选择 > 1
         * ....
         */

        //死循环显示界面
        outer:
        while(true){
            //显示菜单,并获得选择值
            int c = menu();
            //判断c的值
            switch(c){
                case 1: f1(); break;
                case 2: f2(); break;
                case 3: f3(); break;
                case 4: f4(); break;
                case 5: break outer;
            }
        }
    }

    private static int menu()
    {
        System.out.println("-----------------------------");
        System.out.println("1. 商品列表");
        System.out.println("2. 商品录入");
        System.out.println("3. 商品查询");
        System.out.println("4. 统计信息");
        System.out.println("5. 退出");
        System.out.println("-----------------------------");
        System.out.println("选择: > ");
        return new Scanner(System.in).nextInt();
    }

    private static void f1(){
        for(int i = 0 ;i < names.length ; i++)
        {
            String name = names[i];
            double price = prices[i];
            int number = numbers[i];
            System.out.println(
                    (i + 1) + ". 名称:" + name + ", 价格:" + price + ", 数量:" + number
            );
        }
    }
    private static void f2(){
        //遍历数组
        for(int i = 0 ;i < names.length ; i++)
        {
            System.out.println("录入第" + (i+1) + "件商品:");
            System.out.println("名称:");
            String name = new Scanner(System.in).nextLine();
            System.out.println("价格:");
            double price = new Scanner(System.in).nextDouble();
            System.out.println("数量:");
            int number = new Scanner(System.in).nextInt();

            names[i] = name;
            prices[i] = price;
            numbers[i] = number;
        }
        //重新显示商品列表
        f1();
    }
    private static void f3(){
        System.out.print("请输入查询的商品名:");
        String n = new Scanner(System.in).nextLine();
        String pattern = ".*" + n + ".*";  //设计正则表达式,做到模糊搜索
        //遍历数组
        for(int i = 0 ;i < names.length; i++)
        {
            boolean isMatch = Pattern.matches(pattern, names[i]); //检查是否有搜索的内容
            if(isMatch == true)
            {
                String name = names[i];
                double price = prices[i];
                int number = numbers[i];

                System.out.println(
                        (i + 1) + ". 名称:" + name + ", 价格:" + price + ", 数量:" + number
                );
                return ;
            }
        }
        System.out.println("找不到商品");
    }
    private static void f4(){
        //商品总价,单价均价,最高单价,最高总价
        double spzj = 0; //商品总价
        double djzj = 0; //单价总价
        double zgdj = 0; //最高单价
        double zgzj = 0; //最高总价

        //遍历数组
        for(int i = 0 ;i < names.length; i++)
        {
            spzj += prices[i] * numbers[i];
            djzj += prices[i];
            //数组中找到更大的值
            if(prices[i] > zgdj){
                zgdj = prices[i];
            }
            if(prices[i]*numbers[i] > zgzj){
                zgzj = prices[i] * numbers[i];
            }
        }
        System.out.println("商品总价:" + spzj);
        System.out.println("单价均价:" + (djzj/names.length));
        System.out.println("最高单价:" + zgdj);
        System.out.println("最高总价:" + zgzj);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值