如何用Java实现双色球.....

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

人人都有一个紫色般的彩票梦,愿君好运连连..................................


方法一:按方法分开写


package com.epoch.createcarnumber.controller;

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Random;

public class LotterySpecialAward {
    public static void main(String[] args) {
        //从方法,获得红球号码数组和蓝球号码数组
        int[] red = lottery(33);
        int[] blue = lottery(16);

        //从红球号码数组选择6个,保存得到变量red
        int[] redBall = selectRed(red);
        //从蓝球号码数组选择1个,保存到变量blue
        int blueBall = selectBlue(blue);

        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("现在的时间是:"+sdf.format(now));
        System.out.println("本次红球号码为:" + Arrays.toString(redBall));
        System.out.println("本次蓝球号码为:" + blueBall);
    }

    private static int[] selectRed(int[] r) {

        //保存结果的数组
        int[] red = new int[6];
        //标记数组
        boolean[] flag = new boolean[33];
        //遍历red数组,放入选择的红球号码
        for (int i = 0; i < red.length; i++) {
            //先随机选择一个位置
            //再判断是否要重复再选另一个位置
            int j;
            do {
                j = new Random().nextInt(33);
            }
            while (flag[j]);
            //选择j位置的值,存入结果数组
            red[i] = r[j];
            flag[j] = true;//标记j位置已选过
        }
        return red;


    }

    private static int selectBlue(int[] b) {
        return b[new Random().nextInt(16)];
    }

    private static int[] lottery(int length) {
        /*
         * 1.新建len长度的int[]数组,保存到变量a
         * 2.遍历数组,填入1到length
         * 3.返回数组a
         */
        int[] a = new int[length];
        for (int i = 0; i < a.length; i++) {
            a[i] = i + 1;
        }
        return a;
    }
}


方法二:全部写在主方法中


package com.epoch.createcarnumber.controller;

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Random;

public class Lottery {
    public static void main(String[] args) {
        
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("现在的时间是:" + sdf.format(now));

        int[] redArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33};
        int[] blueArray = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};

        Random random = new Random();

        int[] redBall = new int[6];
        //标记数组
        boolean[] flag = new boolean[33];
        //遍历red数组,放入选择的红球号码
        for (int i = 0; i < redBall.length; i++) {
            //先随机选择一个位置
            //再判断是否要重复再选另一个位置
            int j;
            do {
                j = new Random().nextInt(redArray.length);
            }
            while (flag[j]);
            //选择j位置的值,存入结果数组
            redBall[i] = redArray[j];
            flag[j] = true;//标记j位置已选过
        }
        System.out.println("本次红球号码为:" + Arrays.toString(redBall));

        int blueBall = random.nextInt(blueArray.length);
        System.out.println("本次蓝球号码为:" + blueBall);

    }
}



以上两种方法均可实现,就看个人的习惯或者是风格。

小赌怡情,大赌破财。愿君且行且珍惜...........................

https://blog.csdn.net/u012431703/article/details/95304352

猜你喜欢

转载自blog.csdn.net/u012431703/article/details/95304352