java随机数排序_java随机数排序的问题

publicclassRN{publicstaticvoidmain(String[]args){System.out.println("初始的随机数是:");inti=0;intj=0;int[]num=newint[10];for(i=0;i

public class RN {

public static void main(String[] args) {

System.out.println("初始的随机数是:");

int i = 0;

int j = 0;

int[] num = new int[10];

for(i = 0;i < num.length;i++) {

num[i] = (int) (Math.random()*1000);

System.out.println("num[" + i +"]" + num[i]);

}

System.out.println("排序后的随机数是:");

for(i = 0;i < num.length;i++) {

for(j = 0;j < num.length;j++) {

if(num[i] < num[j]) {

int m = num[j];

num[j] = num[i];

num[i] = m;

}

}

}

for(i = 0;i < num.length;i++) {

System.out.println("num[" + i +"]" + num[i]);

}

}

}

我想要结果如下:

初始的随机数是:

num[0]4

num[1]982

num[2]344

num[3]93

num[4]77

num[5]419

num[6]839

num[7]414

num[8]452

num[9]453

排序后的随机数是:

num[0]4

num[4]77

num[3]93

num[2]344

num[7]414

num[5]419

num[8]452

num[9]453

num[6]839

num[1]982

该怎么修改?

正解:

public class RN {

public static void main(String[] args) {

System.out.println("初始的随机数是:");

int i = 0;

int j = 0;

int a = 0;

int[] num = new int[10];

int[] num2 = new int[10];

for(i = 0;i < num.length;i++) {

num[i] = (int) (Math.random()*1000);

num2[i] = i;

System.out.println("num[" + i +"]" + num[i]);

}

System.out.println("排序后的随机数是:");

for(i = 0;i < num.length;i++) {

for(j = 0;j < num.length;j++) {

if(num[i] < num[j]) {

int m = num[j];

num[j] = num[i];

num[i] = m;

int n = num2[j];

num2[j] = num2[i];

num2[i] = n;

}

}

}

for(a = 0;a < num.length;a++) {

System.out.println("num[" + num2[a] +"]" + num[a]);

}

}

}

谢谢大家了!!!!

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值