Java产生900个1到1000不重复的随机数

来源:互联网 发布:数据字段进行etl拆分 编辑:程序博客网 时间:2024/06/03 20:19

这是一到2015年阿里巴巴的笔试试题,题目就是输出900个1-1000的不重复的随机数,代码如下:

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 = fasle;                    break;                }            }            if(flag){                result[count] = num;                count++;            }        }        return result;    } }
3 0
原创粉丝点击