题目 2328: 考了第k名(Java比较器)
题目描述:
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。
代码:
package lanqiao;import java.util.*;public class Stu implements Comparable<Stu> {String id;float score;Stu(String id,float score){this.id=id;this.score=score;}@Overridepublic int compareTo(Stu o) {int flag=-1;Stu o1 = (Stu)o;if(this.score>o1.score)flag=1;return flag;}public static void main(String []args) {Scanner in =new Scanner(System.in);int n=in.nextInt(),k=in.nextInt();Stu arr[] = new Stu[n];for(int i=0;i<n;i++)arr[i]=new Stu(in.next(), in.nextFloat());Arrays.sort(arr);System.out.printf("%s ",arr[n-k].id);System.out.println(arr[n-k].score);}
}