Java的Random实例2-抽题

本文介绍如何使用Java的Random类实现随机抽题功能。首先,从题库中筛选符合条件的题目序号放入List集合;然后,生成0到List.size()范围内的随机数作为下标;最后,通过下标获取并返回随机题目。文章还提到,需要注意防止随机数重复导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇写了用Random实现简单抽***奖,这回也用Random实现随机抽题。

 

思路:

1、将题库中符合条件的题目的题目序号查询出来放到一个list集合中。

2、根据list的size获取0-size之间的随机数,如此便可保证第三步中不会出现下标越界的情况。

3、从list中获取下标为随机数的题目序号。

 

可能存在的问题:判断随机数是否重复

 

以下为实现过程和代码:

public class TestRandom2 {
	public static void main(String[] args) {
		//生成100到题目进行简单测试
		List list = new ArrayList();
		for(int i=0;i<100;i++){
			list.add(i+1);//以(i+1)的值作为题目序号
		}
		
		String ids = getExamIDs(list,20);//从100道题目中抽20道
		System.out.println("随机抽取的题目序号为:"+ids);
		//output:随机抽取的题目序号为:51,13,64,11,78,61,66,67,81,21,16,86,24,25,69,12,72,28,1,37
	}
	
	/**
	 * 该方法用来获取抽取题目的序号
	 * @param list:指定的题目集合
	 * @param count:抽题数量
	 * @return String字符串,以逗号隔开
	 * **/
	public static String getExamIDs(List list,int count){
		StringBuffer ids = new StringBuffer();
		//1、校验不能为空
		if(list==null || list.si
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值