代码:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Main {
static class person{
int a;
int b;
double avege; //a和b的商
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
person[] p = new person[n+1];;
for(int i = 1; i <= n; i++){
p[i] = new person();
p[i].a = sc.nextInt();
p[i].b = sc.nextInt();
p[i].avege = p[i].a/(p[i].b*1.0); //保存一下数据
}
Arrays.sort(p, 1, n+1, new Comparator<person>(){ //重写这个类中的compare方法,或者在上边的内部类中继承Comparator然后重写compare方法,个人直接重写方便一些
@Override
public int compare(person o1, person o2) {
// TODO Auto-generated method stub
if(o1.avege>o2.avege){
return -1;
}
else{
return 0; //这里返回的是0或者-1,不是0或者1,如果要想从小到大就把-1和0的位置换一下
}
}
});
for(int i = 1; i <= n; i++){
System.out.println(p[i].a+" "+p[i].b+" "+p[i].avege); //输出
}
sc.close();
}
}
示例输出: