这是一到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;
}
}
原文:http://blog.csdn.net/xlgen157387/article/details/44899577