题解 | #成绩排序#

成绩排序

http://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

import java.util.Scanner; import java.util.*;

class Student{ private String name; private Integer score;

 public Student(String name,Integer score){
     this.name=name;
     this.score=score;
 }
 public Integer getScore(){
     return score;
 }
 public String getName(){
     return name;
 }

} // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in);

    // 注意 hasNext 和 hasNextLine 的区别
    while (in.hasNextInt()) { // 注意 while 处理多个 case
         List<Student> list=new ArrayList<Student>();
        int num = in.nextInt();
        int sort = in.nextInt();
        in.nextLine();
        for(int i=0;i<num;i++){
           String a=in.nextLine();
            String[] s = a.split(" ");
            list.add(new Student(s[0],Integer.valueOf(s[1])));
        }
        if(sort==1){
            list.sort(Comparator.comparing(Student::getScore));
        }else{
            list.sort(Comparator.comparing(Student::getScore).reversed());  
        }
        for(Student item: list){
            System.out.println(item.getName()+" "+item.getScore());
        }
        
    }
}

}

全部评论

相关推荐

老方子:英语等级cet写错了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务