ZKX's LAB

不重复随机抽取多组数字 java怎么随机抽取多个不重复的字符串数据

2020-08-10知识15

java怎么随机抽取多个不重复的字符串数据 public class Test1 {public static void main(String[]args){String[]scc={\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"ddd\"};Random ran=new Random();int i=scc.length;int count=0;StringBuilder sb=new StringBuilder();while(true){String s=scc[ran.nextInt(i)];if(sb.indexOf(s)=-1){sb.append(s);count+;System.out.println(\"第\"+count+\"次抽到\"+s);}if(count=5){break;}}}}Excel怎么从一组数据中随机抽取5个不重复的数 假设从a1到a100中随机取21135个不重复数5261,b2公式:if(row(a1)=1,index(a$1:a$100,randbetween(1,100)),index(a$1:a$100,small(if(countif(b$1:b1,a$1:a$100)=0,row($1:$100)),randbetween(1,101-row(a1)))))数组公式,需要按ctrl+shift+回车4102,完1653成公式,下拉。从长度为100的数字数组中随机抽取20个不重复的数字 int arrA[100];长度为100的数组int arrB[20];准备存放20个不重复的数字for(int i=0;i;i+)arrA[i]=rand();长度为100的数组中填充随机数,可能有重复的数字for(int i=0;i;i+){/从100个数中抽取20个数while(1){int tempB=arrA[rand%100];从100个数中随机抽取一个数bool C=true;定义布尔变量 如果重复则false 反之则true 默认重复for(int j=0;j;j+){if(arrB[j]=tempB){/判断有无重复C=false;}}if(C){/如果无重复arrB[i]=tempB;赋值break;跳出本次While循环进行下个数的抽取}}}这种问题实现方法有很多种,这只是一种解决思路,C++语言编写,如果用转成C的话只需把所有的变量定义在函数头就可以了,rand()是STD库中提供的标准函数。这个方法有个BUG就是如果当arrA数组中数小于20种,那么这段程序将陷入死循环中,解决办法是在抽取之前判断一下,arrA数组中数是不是小于20种,方法如下。int datatype=0;arrA数组中数据种类for(int i=0;i;i+){bool D=true;for(int j=0;j;j+){if(arrA[j]=arrA[i]){/逐次判断有无重复D=false;}}if(D){datatype+;}}如果datatype大于等于20,再执行抽取数据操作。以上代码未经过编译器,不一定直接能编译过去,但思路。怎么在excel中随机抽取不重复的数字比如1–30中随机抽取不重复的五个数字 A1中空2113着,A2中输入SMALL(IF(COUNTIF(A$1:A1,ROW($1:$30))=0,ROW($1:$30)),1+INT(RAND()*(31-ROW(A1))))同时按下CTRL+SHIFT+回车,5261输入数组公式,用自动填充柄下拉四格4102到A6,不断按下F9键查看1653效果。也可以下拉到A31,再F9,看看有重复的没有。Excel中如何得到不重复的随机数

#电子表格#数组公式#数组

随机阅读

qrcode
访问手机版