欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

双色球系统开发,博主的文章没有高度、

来源: javaer 分享于  点击 2099 次 点评:9

双色球系统开发,博主的文章没有高度、


双色球系统


案例:

中奖条件及奖金表

代码及解释

main方法代码:

public static void main(String[] args) {
        //1.随机6个红球号码(1~33,不能重复),随机一个蓝球号码(1~16)
        int[] num = createLuckNumber();
//        printArray(num);
//        System.out.println();

        //2.调用一个方法让用户输入7个号码,作为用户选号
        int[] userNums = userInputNumbers();
//        printArray(userNums);

        //3.判断中奖情况
        judge(num,userNums);
    }

系统产生随机双色球号码的代码

public static int[] createLuckNumber() {
        //a、定义一个动态初始化的数组,存储7个数字
        int[] number = new int[7];
        //b、遍历数组,为每个位置生成对应的号码(注意只遍历前6个不重复的红球号码,范围1~33)
        Random random = new Random();
        for (int i = 0; i < number.length - 1; i++) {
            //为当前位置找出不重复的6个不重复且符合范围的数

            while (true) {
                int data = random.nextInt(33) + 1;
                //c、注意:必须判断当前随机的这个号码之前是否出现过,出现过要重新随机一个,知道不重复位置
                // 定义一个flag变量,默认true是没有重复的
                boolean flag = true;
                for (int j = 0; j < i; j++) {
                    if (number[j] == data) {
                        //data当前数字前面出现过,不能用并且对flag进行标记
                        flag = false;
                        break;
                    }
                }
                if (flag) {
                    //data当前值前面没出现过
                    number[i] = data;
                    break;
                }
            }
        }
        // d.为第7个位置生成一个1~16的篮球号码
        number[number.length - 1] = random.nextInt(16) + 1;
        return number;
    } //系统产生随机双色球号码

用户输入自己的双色球号码的代码

public static int[] userInputNumbers() {
        //a.定义一个数组存储7个号码
        int[] numbers = new int[7];
        //b.让用户录入6个红球号码
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < numbers.length - 1; i++) {
            System.out.println("请您输入第" + (i + 1) + "个红球号码(1 ~ 33,要求数字不重复):");
            int data = scanner.nextInt();
            //c.把当前录入的号码存入数组中
            numbers[i] = data;

        }
        //d.单独录入一个蓝球号码
        System.out.println("请您输入蓝球号码(1 ~ 16):");
        numbers[6] = scanner.nextInt();

        return numbers;
    } //用户输入自己的双色球号码

中奖情况分析及中奖结果输出的代码

public static void judge(int[] num, int[] userNums) {
        //判断是否中奖了
        //1.定义两个变量分别存储红球,蓝球的命中个数
        int redHit = 0;
        int blueHit = 0;

        //2.判断红球命中了几个
        for (int i = 0; i < num.length - 1; i++) {
            for (int j = 0; j < userNums.length - 1; j++) {
                if (num[i] == userNums[j]) {
                    redHit++;
                    break;
                }
            }
        }
        //3.判断蓝球是否命中
        blueHit = num[num.length - 1] == userNums[userNums.length - 1] ? 1 : 0;

        System.out.println("中奖号码为:");
        printArray(num);
        System.out.println();
        System.out.println("您投注的号码为:");
        printArray(userNums);
        System.out.println();
        System.out.println("您命中红球的个数为:" + redHit);
        System.out.println("您命中蓝球的个数为:" + blueHit);
        //最后判断中奖情况输出中奖结果:
        if (blueHit == 1 || redHit < 3) {
            System.out.println("恭喜您,中了六等奖 5 元");
        } else if (blueHit == 1 && redHit == 3 || blueHit == 0 && redHit == 4) {
            System.out.println("恭喜您,中了五等奖 10 元");
        } else if (blueHit == 1 && redHit == 4 || blueHit == 0 && redHit == 5) {
            System.out.println("恭喜您,中了四等奖 200 元大奖");
        } else if (blueHit == 1 && redHit == 5) {
            System.out.println("恭喜您,中了三等奖 3000 元大奖");
        } else if (blueHit == 0 && redHit == 6) {
            System.out.println("恭喜您,中了二等奖 500万 超级大奖!");
        } else if (blueHit == 1 && redHit == 6) {
            System.out.println("恭喜您,中了一等奖 1000万 巨奖!!");
        } else {
            System.out.println("感谢您为福利事业做出的贡献!!!");
        }

    } //中奖情况分析及中奖结果输出


案例来自黑马案例7

本文来自博客园,作者:Haziy,转载请注明原文链接:https://www.cnblogs.com/zhangyouren/p/16406330.html

本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。

博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。

相关栏目:

用户点评