Java中完全随机数的产生2014-07-11 iteye cq520清明时节,外面下起了大雨,听着雨点刷刷的淅沥声,我的心情也渐渐的平复下来,如蓝天般淡薄却又有云朵在上面漂浮着,废话不多说,下面进入正题:这一次跟大家分享一下如何产生一个完全不相同的随机数组,大家可能都知道如何产生一个随机数组,但是问题就是,我们所产生的随机数组里面很有可能还有很多是相同的数字,有时候我们需要的是产生一连串完全不相同的数字,有下面两种方法:方法一:比较法将数组里面的每一个数组反复的进行比较,如果有相同的就继续产生新数,然后再比较,直到每一个数字都不相同为止,代码如下:
import java.util.Random;publicclass Ran {publicstaticvoid main(String args[]){ Ran r=new Ran(); r.initArr(); r.ranArr(); r.print();}intarr[]=newint[10];//初始化一个数组publicvoid initArr(){ Random ran=new Random(); for(int i=0;i<arr.length;i++){ arr[i]=ran.nextInt(10); }}//使数组里面的数完全随机publicvoid ranArr(){ int n=1; boolean isNew=false; Random r=new Random(); while(!isNew){ for(int k=0;k<n;k++){ for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.length;j++){ if(arr[i]!=arr[j]){ isNew=true; } else{ arr[i]=r.nextInt(10); n++; }}} } } System.out.println("循环进行了"+n+"次");}//输出完全随机数数组publicvoid print(){ for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); }}}