猿问

前三位重复多次出现0,0,0,怎么回事,其他编码没有这样的情况

import java.util.Arrays;

public class DD {

public int[] FG(int HH){

int[] KK=new int[HH];

for(int i=0;i<KK.length;i++){

KK[i]=(int)(Math.random()*100);

      

     Arrays.sort(KK);

}

return KK;

}

public static void main(String[] args){

DD j=new DD();

int[] C=j.FG(7);

System.out.println(Arrays.toString(C));

}

}


乱也
浏览 1451回答 3
3回答

qq_青枣工作室_0

因为你在循环内部用 Arrays.sort(KK); 修改了数组,导致每次i++后,不能按预期赋值。即第一次赋的值,被你sort排序后,放到最后一位了,而第一位变成了0;第二次赋值,再排序,第二位有变成了0。把Arrays.sort(KK);放到for循环的外面即可解决问题。

冲啊

你把Arrays.sort(KK);放在return KK;前面。不要放在FOR 循环里。因为每次随机产生 一个数都在排序。正常的逻辑是:产生完KK个数据后,再从小到大排序即可。
随时随地看视频慕课网APP

相关分类

Java
我要回答