Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 循环仅在中途开始填充数组_Java - Fatal编程技术网

Java 循环仅在中途开始填充数组

Java 循环仅在中途开始填充数组,java,Java,我试图用java中的随机数填充数组,但不管数组大小如何,数组的前半部分都只填充“0” 下面是负责填充数组的代码 while (i<fileSizeArray.length) { randomNumber = (int) (Math.random() * (400 - 100) + 100); fileSizeArray[i] = randomNumber; Arrays.sort(fileSizeArray);

我试图用java中的随机数填充数组,但不管数组大小如何,数组的前半部分都只填充“0” 下面是负责填充数组的代码

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之间,它们都在前半部分旁边,请参见: