**
第一種: 列如有:score = {4,2,5,4} 則輸出:rank = {2,3,1,2}
**
class Test {
//打印數組內容
public static void print(int a[]) {
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
}
//得到對應的名次
public static int[] getRank(int a[]) {
int[] temp = new int[a.length]; //生成對應長度的空數組,用於存儲名次
List list = new ArrayList();
for(int i : a) {
if(!list.contains(i)) { //去除重複元素{4,2,5}
list.add(i);
}
}
Collections.sort(list); //升序{2,4,5}
Collections.reverse(list); //反轉{5,4,2}
for (int i = 0; i < temp.length; i++) {
temp[i] = list.indexOf(a[i])+1; //分數對應的索引,+1=名次
}
return temp;
}
public static void main(String[] args) {
int[] sorce = {4,2,5,4};
int[] rank = Test.getRank(sorce);
Test.print(sorce);
Test.print(rank);
}
}
輸出結果:4 2 5 4
2 3 1 2
第二種: 列如有:score = {4,2,5,4} 則輸出:rank = {2,4,1,2}
class Test {
//打印數組內容
public static void print(int a[]) {
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
}
//得到對應的名次
public static int[] getRank(int a[]) {
int[] temp = new int[a.length]; //生成對應長度的空數組,用於存儲名次
List list = new ArrayList();
for(int i : a) {
/*if(!list.contains(i)) {
list.add(i);
}*/
list.add(i); //不去除重複元素{4,2,5,4}
}
Collections.sort(list); //升序{2,4,4,5}
Collections.reverse(list); //反轉{5,4,4,2}
for (int i = 0; i < temp.length; i++) {
temp[i] = list.indexOf(a[i])+1; //分數對應的索引,+1=名次
}
return temp;
}
public static void main(String[] args) {
int[] sorce = {4,2,5,4};
int[] rank = Test.getRank(sorce);
Test.print(sorce);
Test.print(rank);
}
}
輸出結果:4 2 5 4
2 4 1 2