猿问

帮忙看看这个要怎么改才能让排列后的随机数不一样。谢谢

此生不变丶
浏览 1358回答 2
2回答

晴天小文友

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"); } }}

kaguya

你可以在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 503-->0 0 0 0 0 0  0  15 50 744-->0 0 0 0 0 0  15 50 74 885-->0 0 0 0 0 15 50 74 88 916-->0 0 0 0 0 50 66 74 88 91//第6轮开始每次赋值都会覆盖掉a[i]的值7-->0 0 0 0 0 36 50 74 88 918-->0 0 0 0 0 36 50 88 88 919-->0 0 0 0 0 23 36 50 88 9110->0 0 0 0 0 13 23 36 50 88加下划线的是你print的值,所以你赋值只是在赋后一半的数....
随时随地看视频慕课网APP

相关分类

Java
我要回答