首页 > 电脑

在java中如何连续输入若干的名字以及对应的数字(分数),然后再将名字按分数从大到小的排列输出?

更新时间2019-09-14 01:24:10

对于这种涉及到不同的类型的数据时怎么做到一一对应的进行排序?

int n, i, j, temp;

 

Scanner num = new Scanner(System.in);

n = num.nextInt();

String name[] = new String[n];

int score[] = new int[n];

 

for (i = 0; i <= n; i++) {

 

name[i] = num.nextLine();

score[i] = num.nextInt();

}

for (i = 1; i <= n - 1; i++) {

for (j = 1; j <= n - 1; j++) {

if (score[i] < score[i + 1]) {

temp = score[i];

score[i] = score[i + 1];

score[i + 1] = temp;

}

}

}

for (i = n; i > 0; i--) {

System.out.println(name[i]);

}

这是我想的,但是很显然是错的。

你在做数据交换时,要将name也进行交换的,交换部分要增加

String nametemp;

nametemp= name[i];

name[i] = name[i + 1];

name[i + 1] = nametemp;


相关标签:java

上一篇:c的system函数的copy指令的复制路径可以为字符串吗,怎么用?

下一篇:急c语言大哥