博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取指定个数指定范围的随机数
阅读量:5845 次
发布时间:2019-06-18

本文共 973 字,大约阅读时间需要 3 分钟。

我有这样的需求:

我有100道试题,id是0到99,我想从中找出20道试题组成一个试卷,要求试题不重复,打乱顺序:

Java代码  
  1. /** 
  2.      * 产生无重复的随机数    sumInt:总样本 (0....sumInt-1) 
  3.      * resultSum: 产生的随机数个数 
  4.      *  
  5.      * @return 
  6.      */  
  7.     public static int[] randoms(int sumInt, int resultSum) {  
  8.         Random r = new Random();  
  9.   
  10.         int temp1, temp2;  
  11.           
  12.         //Total sample  
  13.         int send[] = new int[sumInt];//0....(sumInt-1)  
  14.         for (int i = 0; i < sumInt; i++) {  
  15.             send[i] = i;  
  16.         }  
  17.         int len = send.length;//The length of the total sample  
  18.         int returnValue[] = new int[resultSum];//Random number to return  
  19.         for (int i = 0; i < resultSum; i++) {  
  20.             temp1 = Math.abs(r.nextInt()) % len;  
  21.             temp2 = send[temp1];  
  22.             returnValue[i] = temp2;  
  23.             if (temp1 != len - 1) {  
  24.                 send[temp1] = send[len - 1];  
  25.                 send[len - 1] = temp2;  
  26.             }  
  27.             len--;  
  28.         }  
  29.         return returnValue;  
  30.     }  

 

测试:

public static void printArray(int[] ints) {

for (int i = 0; i < ints.length; i++) {

System.out.print(ints[i]);

if (i < ints.length - 1) {

System.out.print(" ,");

}

}

System.out.println();

}

 

@Test

public void test_randoms(){

printArray(SystemUtil.randoms(5, 3));

}

转载地址:http://iihcx.baihongyu.com/

你可能感兴趣的文章
Python科学计算技巧积累四——双y轴图像绘制
查看>>
解决使用intellij idea开发MAVEN项目在target目录下不存在mapper.xml文件
查看>>
ReactiveCocoa结合了几种编程风格
查看>>
2018第11周总结
查看>>
Lucene4.0 LogMergePolicy
查看>>
【详细】【转】C#中理解委托和事件
查看>>
Java 微服务框架选型(Dubbo 和 Spring Cloud?)
查看>>
oracle like 条件拼接
查看>>
SQL Server 一些使用小技巧
查看>>
An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
查看>>
谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写
查看>>
腾讯高性能RPC开发框架Tars实现服务治理(微服务)
查看>>
spriing boot 启动报错:Cannot determine embedded database driver class for database type NONE
查看>>
MATLAB 的unique函数——数组矩阵的唯一值
查看>>
orcale的over的使用
查看>>
探索SQL Server元数据(一)
查看>>
UICollectionView(一)基本概念
查看>>
公司不是我的家,那我为什么还要加班?兼说如何在公司高效提升自己的方法...
查看>>
js 数组分解 解构
查看>>
那些年,我们用并行遇到的坑01
查看>>