为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

此生不变丶 2016-07-16 20:57:27
查看完整描述

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

}

}


}


查看完整回答
反对 回复 2016-07-17
  • 此生不变丶
    此生不变丶
    十分感激 。昨天研究一个多小时都没搞定。。谢谢
  • 此生不变丶
    此生不变丶
    能帮忙解答下吗? 为什么直接把 Arrays.sort(a)放到上面那个for循环里就不行 是什么原因?
?
kaguya

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的值,所以你赋值只是在赋后一半的数....

查看完整回答
1 反对 回复 2016-07-22
  • 2 回答
  • 0 关注
  • 1343 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信