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]);
}
}
}
谢谢大家了!!!!
展开