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);
}
}