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

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


方法一:按方法分开写


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

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晓峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值