相同分数相同的排名
//将对应的指标转换成排名
public static void main(String[] args) {
int[] sum = new int[]{1,2,3,3,1};
int [] order = new int[sum.length]; //初始化排名数组(初始化数据为总分数组的长度)
List<Integer> repeat = new ArrayList<>();
Arrays.fill(order, 1);
for (int i = 0; i < sum.length; i++) {
repeat.clear();
for (int j = 0; j < sum.length; j++) {
if (i != j && sum[i]<sum[j]) {
if (!repeat.contains(sum[j])){
order[i]++;
repeat.add(sum[j]);
}
}
}
}
for (int i = 0; i < order.length; i++) {
System.out.println(order[i]);
}
//输出3 2 1 1 3
}
相同分数,按照先后顺序排名
//将对应的指标转换成排名
public static void main(String[] args) {
int[] sum = new int[]{1, 2, 3, 3, 1};//初始化总分数组
int [] order = new int[sum.length]; //初始化排名数组(初始化数据为总分数组的长度)
List<Integer> repeat = new ArrayList<>();
Arrays.fill(order, 1);
for (int i = 0; i < sum.length; i++) {
for (int j = 0; j < sum.length; j++) {
if (i != j && sum[i]<=sum[j]) {
order[i]++;
}
}
if (i!=0 && repeat.contains(order[i])){
order[i] = order[i] - 1;
}
repeat.add(order[i]);
}
for (int i = 0; i < order.length; i++) {
System.out.println(order[i]);
}
//输出5 3 2 1 4
}