2 回答
TA贡献4条经验 获得超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条经验 获得超5个赞
你可以在12行后面加一行System.out.print(a[i]);嘛,就能看到排序前数组了
15 50 74 88 91 66 36 88 23 13
因为Arrays.sort()是升序排列,大的在后面,你每轮for之后数组内容应该是这样的
1-->0 0 0 0 0 0 0 0 0 15//每轮都会将大数排在后面
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的值,所以你赋值只是在赋后一半的数....
添加回答
举报