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)); }}
3 回答
已采纳
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
因为你在循环内部用 Arrays.sort(KK); 修改了数组,导致每次i++后,不能按预期赋值。即第一次赋的值,被你sort排序后,放到最后一位了,而第一位变成了0;第二次赋值,再排序,第二位有变成了0。
把Arrays.sort(KK);放到for循环的外面即可解决问题。
冲啊
TA贡献15条经验 获得超3个赞
你把Arrays.sort(KK);放在return KK;前面。不要放在FOR 循环里。因为每次随机产生 一个数都在排序。正常的逻辑是:产生完KK个数据后,再从小到大排序即可。
添加回答
举报
0/150
提交
取消