思路

实现

代码

package lottery;
import java.util.Arrays;
import java.util.Random;
public class Lottery {
public static void main(String[] args) {
	//将红球号码初始化数组存放
	int[] redBalls=new int[33];
	for(int i=0;i<redBalls.length;i++) {
		redBalls[i]=i+1;
	}
	//定义数组存放6个红球号码
	int[] redRandom=new int[6];
	//初始化数组的下标
	int index=0;
	//新建一个随机数
	Random r=new Random();
	//初始化随机生成的红球是否重复,定义布尔类型数组
	boolean[] isUsed= new boolean[33];
	//随机生成循环,1-33之间直到生成6个不数字,跳出循环
	while(true) {
		int red=r.nextInt(33);//随机生成0-32中的数字作为数组的下标
		//判断随机生成的红球是否重复
		if(isUsed[red] == true) {
			continue;
		}
//将随机生成的数字作为红球数组的下标,通过红球数组下标的对应元素赋值给随机红球数组,
		//红球数组下标做自增运算,方便下一次获得的元素值
		redRandom[index++]=redBalls[red];
		//当随机生成了6个红球循环结束,也就是数组下标长度为6的时候结束循环
		if(index==6) {
			break;
			}
		//提示以上随机生成的红球已经存在,将生成的红球尔类型数组元素的下标修改为true.
		isUsed[red] = true; 
	}
	    //将随机生成的红球进行排序操作,以便更友善的查看
		Arrays.sort(redRandom);
		//随机生成蓝球1-16,也就是随机生成0-15之间的数字作为下标
		int blueBall=r.nextInt(16);
		System.out.println("\t\n"+"###################祝你好运!中大奖!######################## "+"\t\n");
		//显示随机生成的红球
		System.out.print("                    红球: ");
		for(int i=0;i<redRandom.length;i++) {
			System.out.print(redRandom[i]+" ");
		}
		//显示随机生成的蓝球
		System.out.print("  蓝球: "+blueBall);		
}
}