2 回答

TA貢獻4條經(jīng)驗 獲得超1個贊
package helloWorld;
import java.util.Arrays;
import java.util.Random;
public class test_8{
public static void main(String[] args){
int[] a=new int[10];
Random r=new Random();
for(int i=0;i<10;i++){
a[i]=r.nextInt(100);
}
for(int i=0;i<10;i++){
Arrays.sort(a);
System.out.print(a[i]+"\t");
}
}
}

TA貢獻8條經(jīng)驗 獲得超5個贊
你可以在12行后面加一行System.out.print(a[i]);嘛,就能看到排序前數(shù)組了
15?50?74?88?91?66?36?88?23?13
因為Arrays.sort()是升序排列,大的在后面,你每輪for之后數(shù)組內(nèi)容應該是這樣的
1-->0 0 0 0 0 0 ?0 ?0 ?0 ?15//每輪都會將大數(shù)排在后面
2-->0 0 0 0 0 0 ?0 ?0 ?15 50
3-->0 0 0 0 0 0 ?0 ?15 50 74
4-->0 0 0 0 0 0 ?15 50 74 88
5-->0 0 0 0 0 15 50 74 88 91
6-->0 0 0 0 0 50?66 74 88 91//第6輪開始每次賦值都會覆蓋掉a[i]的值
7-->0 0 0 0 0 36 50 74 88 91
8-->0 0 0 0 0 36 50 88 88 91
9-->0 0 0 0 0 23 36 50 88 91
10->0 0 0 0 0 13 23 36 50 88
加下劃線的是你print的值,所以你賦值只是在賦后一半的數(shù)....
添加回答
舉報