Java基于集合实现体彩大乐透1.0

编写程序实现体彩大乐透机选5注

题目

编写程序实现体彩大乐透机选五注,把机选结果打印在控制台上,具体规则如下

  1. 大乐透由前区和后区构成
  2. 前区:从1-35中随机选出不重复的5个数
  3. 后区:从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);

	}
}

运行结果

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值