编写程序实现体彩大乐透机选5注
题目
编写程序实现体彩大乐透机选五注,把机选结果打印在控制台上,具体规则如下
- 大乐透由前区和后区构成
- 前区:从1-35中随机选出不重复的5个数
- 后区:从1-12中随机选出不重复的2个数
创建int型集合
//限定集合类型,基本数据类型为包装类
LinkedList<Integer> list=new LinkedList<Integer>();
循环输出前区
//循环前区
int[] random=new int[5];//定义存放这五个数的数组
for(int i=0;i<5;i++) {
random[i]=rand.nextInt(35) + 1;//取随机数
for (int j = 0; j < i; j++) {
while (random[i] == random[j]) {//如果重复,重新生成随机数
random[i]=rand.nextInt(35) + 1;
}
}
list.add(random[i]);//加到集合中
}
循环输出后区
//循环后区
int[] random1=new int[2];
for(int i=0;i<2;i++) {
//将随机数放到数组里面
random1[i]=rand.nextInt(12) + 1;
//去重
for (int j = 0; j < i; j++) {
while (random1[i] == random1[j]) {//如果重复,退回去重新生成随机数
random1[i]=rand.nextInt(35) + 1;
}
}
list.add(random1[i]);
}
完整代码
import java.util.LinkedList;
import java.util.Random;
public class CaiPiao {
public static void main(String[] args) {
//1.从[1,35]中取出5个数
//2.从[1,12]中取出2个数
//3.每次打印五注
Random rand=new Random();
int count=0;//定义打印次数
do {
LinkedList<Integer> list=new LinkedList<Integer>();
//循环前区
int[] random=new int[5];
for(int i=0;i<5;i++) {
random[i]=rand.nextInt(35) + 1;
for (int j = 0; j < i; j++) {
while (random[i] == random[j]) {//如果重复,退回去重新生成随机数
random[i]=rand.nextInt(35) + 1;
}
}
list.add(random[i]);
}
//循环后区
int[] random1=new int[2];
for(int i=0;i<2;i++) {
//将随机数放到数组里面
random1[i]=rand.nextInt(12) + 1;
//去重
for (int j = 0; j < i; j++) {
while (random1[i] == random1[j]) {//如果重复,退回去重新生成随机数
random1[i]=rand.nextInt(35) + 1;
}
}
list.add(random1[i]);
}
count++;
System.out.println(list);
}while(count<5);
}
}