黑马程序员技术交流社区
标题:
一个生成无重复数字的代码
[打印本页]
作者:
张浮生
时间:
2015-5-13 22:49
标题:
一个生成无重复数字的代码
具体代码如下:
importJava.util.Random;
publicclassUtil{
/**随机对象*/
privatestaticRandomrd=null;
/**
*返回一个无重复的随机数组
*@paramsrc来源数组,所有的数据都来自该数组
*@return处理好的数组
*/
publicstaticint[]random(int[]src){
//如果源数组为空,则返回
if(src==null){
returnnull;
}
rd=newRandom();
//创建返回数组
int[]tmp=newint[src.length];
//可供选择的数据个数
intnum=src.length;
//抽取到的数组的下标
intindex;
//随机抽取,如果某个数字被抽取,则置该数字为0,并放到数组的末尾
for(inti=0;i<src.length;i ){
//随机生成下标
index=Math.abs(rd.nextInt())%num;
//取该值
tmp[i]=src[index];
//交换数据
src[index]=src[num-1];
//可选择数量减少1
num--;
}
//返回
returntmp;
}
publicstaticvoidmain(String[]args){
int[]test={1,2,3,4,5,6,7,8,9};
inta[]=random(test);
for(inti=0;i<a.length;i ){
System.out.println(a[i]);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2