ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

01:谁考了第k名

01:谁考了第k名
/** * 题目名称:谁考了第k名 <p> * 题目来源:http://noi.openjudge.cn/ch0110/01/ <p> * 程序功能:输出指定名次学生的学号和成绩 * * @author 潘磊,just_panlei@just.edu.cn * @version 1.0 */importjava.util.List;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Scanner;classStudentimplementsComparable<Student>{// 学生类,实现Comparable接口intid;// 学号doublescore;// 成绩publicStudent(intid,doublescore){// 构造方法,初始化学生记录this.id=id;this.score=score;}@Override// 重写compareTo方法,按score降序排序publicintcompareTo(Studento){if(o.score==this.score){// 如果两条记录的score相等return0;// 保持位置不变}returno.score>this.score?1:-1;// 按score降序排序}@Override// 重写toString方法,按题目输出要求返回字符串publicStringtoString(){returnString.format("%d %.1f",id,score);}}publicclassMain{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);intn=input.nextInt();intk=input.nextInt();intid;doublescore;List<Student>students=newArrayList<>();for(inti=0;i<n;i++){id=input.nextInt();score=input.nextDouble();students.add(newStudent(id,score));}Collections.sort(students);// 按自定义规则对students列表排序System.out.print(students.get(k-1).toString());}}
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进