Java 循环仅在中途开始填充数组
我试图用java中的随机数填充数组,但不管数组大小如何,数组的前半部分都只填充“0” 下面是负责填充数组的代码Java 循环仅在中途开始填充数组,java,Java,我试图用java中的随机数填充数组,但不管数组大小如何,数组的前半部分都只填充“0” 下面是负责填充数组的代码 while (i<fileSizeArray.length) { randomNumber = (int) (Math.random() * (400 - 100) + 100); fileSizeArray[i] = randomNumber; Arrays.sort(fileSizeArray);
while (i<fileSizeArray.length)
{
randomNumber = (int) (Math.random() * (400 - 100) + 100);
fileSizeArray[i] = randomNumber;
Arrays.sort(fileSizeArray);
i++;
}
while(i要用随机数填充数组,请执行以下操作
int i=0;
while (i<fileSizeArray.length)
{
fileSizeArray[i] = (int) (Math.random() * (400 - 100) + 100);
i++;
}
Arrays.sort(fileSizeArray);
inti=0;
而
在循环中对数组进行排序
while (i<fileSizeArray.length)
{
randomNumber = (int) (Math.random() * (400 - 100) + 100);
fileSizeArray[i] = randomNumber;
i++;
}
Arrays.sort(fileSizeArray);
所以所有的零都从一开始排序
这会将随机值推送到数组的末尾
然后添加一个新值,所有的零再次移到开头,随机值移到所有的零之后
最终,在处理一半的数字后,您将覆盖数组末尾的随机值
排序应在循环外部完成。数组。排序不能与收集器混合
在这种情况下,您在循环中使用收集器(FileSizerRay),然后在同一循环中对收集器进行排序。这不能混合。不能将收集器与排序函数混合使用
您在Arrays.sort上出错,请将其移出循环
while (i<fileSizeArray.length)
{
randomNumber = (int) (Math.random() * (400 - 100) + 100);
fileSizeArray[i] = randomNumber;
i++;
}
Arrays.sort(fileSizeArray);
while(不应该有0,我希望数字在100到400之间,它们都在前半部分旁边,请参见: