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條經(jīng)驗 獲得超754個贊
因為你在循環(huán)內部用 Arrays.sort(KK);?修改了數(shù)組,導致每次i++后,不能按預期賦值。即第一次賦的值,被你sort排序后,放到最后一位了,而第一位變成了0;第二次賦值,再排序,第二位有變成了0。
把Arrays.sort(KK);放到for循環(huán)的外面即可解決問題。

沖啊
TA貢獻15條經(jīng)驗 獲得超3個贊
你把Arrays.sort(KK);放在return KK;前面。不要放在FOR 循環(huán)里。因為每次隨機產(chǎn)生 一個數(shù)都在排序。正常的邏輯是:產(chǎn)生完KK個數(shù)據(jù)后,再從小到大排序即可。
添加回答
舉報
0/150
提交
取消