HELP ME!郁闷……
import java.util.Arrays;
class TestRandomForth
{
static int N1=20,N2=10,N3=60;
public static void main(String[] args)
{
int k,result,temp,returnNum;
int ics=0;
int[] randomNumArray=new int[N2];
k=N3-N1;
do
{
temp=(int)(Math.random()*k);
result=N1+temp;
Arrays.sort(randomNumArray);
returnNum=Arrays.binarySearch(randomNumArray,result);
if(returnNum<0)
{
randomNumArray[ics]=result;
ics++;
}
}while(ics<N2);
for(int i=0;i<ics;i++)
{
System.out.println(randomNumArray[i]);
}
}
}
程序实现的目的就是在N1和N3之间随机找到N2个不重复的数字。
但是会出现这样的结果啊:
0
0
0
0
0
20
22
27
39
50 总是有一半的数组是空的,为什么呢?