综合练习


public static void main(String[] args) {
        /////////////////////////////////////////案例一:产生验证码/////////////////////////////////////////
        /*
        需求:
            定义方法实现随机产生一个5位的验证码
            验证码格式:
                长度为5
                前四位是大写字母或者小写字母
                最后一位是数字
         */
        //分析:可以将字母放到数组中,循环四次得到前四位,最后一位随机生成一个数
        char[] arr = new char[52];
        ///////////////添加字母表////////////////
        for (int i = 0; i < 26; i++) {
            arr[i] = (char)(97 + i);
        }
        for (int i = 0; i < 26; i++) {
            arr[26 + i] = (char)(65 + i);
        }
        for (int i = 0; i < 52; i++) {
            System.out.println(arr[i]);
        }
        ////////////////////////////////////////
        String str = "";
        Random rndnum = new Random();
        int num;
        for (int i = 0; i < 4; i++) {
            num = rndnum.nextInt(arr.length);
            str = str + arr[num];
        }
        num = rndnum.nextInt(10);
        str += num;
        System.out.println("您的验证码为:" + str);
        ////////////////////////////////////////////案例二:评委打分//////////////////////////////////////////
        /*
        要求:去掉最高分和最低分,对剩余分数求平均值
         */
        int n = 6; ////一共六个评委
        int[] score = new int[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            score[i] = rndnum.nextInt(100) + 1;
            sum += score[i];
        }
        int maxNum = score[0],minNum = score[0];
        for (int i = 1; i < n; i++) {
            if(score[i] < minNum){
                minNum = score[i];
            }
            if(score[i] > maxNum){
                maxNum = score[i];
            }
        }
        sum = sum - minNum - maxNum;
        double avg = sum / (double)(n - 2);
        System.out.println("平均分为:" + avg);
        //////////////////////////////////////////案例三:双色球////////////////////////////////////////////
        /*
        规则:
            随机生成六个红球+一个篮球
            用户输入自己的号码
            根据表格查询中奖情况
         */
        Scanner scanner = new Scanner(System.in);
        int[] redBall = new int[6];
        int blueBall = 0;
        int crrRed = 0,crrBlue = 0;
        for (int i = 0; i < 6; i++) {
            redBall[i] = rndnum.nextInt(10);
            System.out.println("请输入第"+ (i + 1) + "个红球的数字:");
            if(redBall[i] == scanner.nextInt()) {
                crrRed++;
            }
        }
        blueBall = rndnum.nextInt(10);
        System.out.println("请输入篮球数字:");
        if(blueBall == scanner.nextInt()){
            crrBlue++;
        }
        System.out.println("红球中" + crrRed + "个");
        System.out.println("蓝球中" + crrBlue + "个");
        //////开始判断中奖金额
        if(crrBlue == 1) {
            switch (crrRed) {
                case 0:
                case 1:
                case 2:
                    System.out.println("5元");
                    break;
                case 3:
                case 4:
                    System.out.println("10元");
                    break;
                case 5:
                    System.out.println("3000元");
                    break;
                case 6:
                    System.out.println("最高1000万");
                    break;
                default:
                    break;
            }
        }else{
            switch(crrRed) {
                case 4:
                    System.out.println("10元");
                    break;
                case 5:
                    System.out.println("200元");
                    break;
                case 6:
                    System.out.println("最高500万");
                    break;
                default:
                    System.out.println("再接再厉吧!");
            }
        }
    }