动手动脑 产生纯随机数

package 生成随机数;

public class RandomTest 
{
	 public static void main(String[] args)
	 {
	        int[] result = RandomTest.randomNumber(1,1000,900);
	        for(int k =0 ;k<result.length;k++)
	        {
	            System.out.println(result[k]);
	        }
	 }

	    /**
	    * 功能:产生1-1000中的900个不重复的随机数
	    * 
	    * min:产生随机数的其实位置
	    * mab:产生随机数的最大位置
	    * n: 所要产生多少个随机数
	    *
	    */
	    public static int[] randomNumber(int min,int max,int n){

	        //判断是否已经达到索要输出随机数的个数
	        if(n>(max-min+1) || max <min){
	            return null;
	        }

	        int[] result = new int[n]; //用于存放结果的数组

	        int count = 0;
	        while(count <n)
	        {
	            int num = (int)(Math.random()*(max-min))+min;
	            boolean flag = true;
	            for(int j=0;j<n;j++){
	            	 if(num == result[j]){
	                     flag = false;
	                     break;
	                 }
	             }
	             if(flag)
	             {
	                 result[count] = num;
	                 count++;
	             }
	         }
	         return result;
	     } 
	
}

  

posted @ 2018-10-14 17:49  Caper123  阅读(92)  评论(0)    收藏  举报