package a;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
public class Test1 {
class Score{
String name;
float score1;
float score2;
float score3;
float scoreA;
Score(String name, String s1, String s2, String s3){
this.name = name;
score1 = Float.parseFloat(s1);
score2 = Float.parseFloat(s2);
score3 = Float.parseFloat(s3);
scoreA = (score1 + score2 + score3)/3;
}
public String toString(){
return name + "\t" + score1 + "," + score2 + "," + score3;
}
}
public static void main(String[] args) throws Exception{
final int num = 3;
Test1 t = new Test1();
System.out.println("请依次输入姓名,数学,英语,计算机的成绩,用回车分割");
Score[] arr = new Score[num];
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
for (int i=0;i<num;i++){
arr[i] = t.new Score(in.readLine(), in.readLine(), in.readLine(), in.readLine());
}
Arrays.sort(arr, new Comparator<Score>(){
public int compare(Score s1, Score s2) {
if (s1.scoreA < s2.scoreA) return -1;
if (s1.scoreA > s2.scoreA) return 1;
if (s1.score1 < s2.score1) return -1;
if (s1.score1 > s2.score1) return 1;
if (s1.score2 < s2.score2) return -1;
if (s1.score2 > s2.score2) return 1;
if (s1.score3 < s2.score3) return -1;
if (s1.score3 > s2.score3) return 1;
return 0;
}
});
for (int i=0;i<num;i++){
System.out.println(arr[i]);
}
}
}
输出结果
请依次输入姓名,数学,英语,计算机的成绩,用回车分割
a
3
2
1
b
1
2
3
c
2
2
2
b 1.0,2.0,3.0
c 2.0,2.0,2.0
a 3.0,2.0,1.0
温馨提示:答案为网友推荐,仅供参考