题解 | #成绩排序#

成绩排序

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

import java.util.*;

/**
 * 给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩
 * <p>
 * 都按先录入排列在前的规则处理。
 * <p>
 * 例示:
 * jack      70
 * peter     96
 * Tom       70
 * smith     67
 * <p>
 * 从高到低  成绩
 * peter     96
 * jack      70
 * Tom       70
 * smith     67
 * <p>
 * 从低到高
 * <p>
 * smith     67
 * <p>
 * jack      70
 * <p>
 * Tom       70
 * peter     96
 * <p>
 * 注:0代表从高到低,1代表从低到高
 */
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = Integer.parseInt(scanner.nextLine());
        String symble = scanner.nextLine();
        List<Student> lists=new ArrayList<Student>();
        int number = 1;
        while (number <= sum) {
            String studentInfo = scanner.nextLine();
            number++;
            String[] strArray=studentInfo.split(" ");
            Student student=new Student();
            student.setName(strArray[0]);
            student.setRecord(Integer.parseInt(strArray[1]));
            lists.add(student);
        }
        //0从大到小
        if ("0".equals(symble))
        {
            Collections.sort(lists, new Comparator<Student>() {
                @Override
                public int compare(Student o1, Student o2) {
                    return o2.getRecord()-o1.getRecord();
                }
            });
        }else
        {
            Collections.sort(lists, new Comparator<Student>() {
                @Override
                public int compare(Student o1, Student o2) {
                    return o1.getRecord()-o2.getRecord();
                }
            });
        }

        for(Student student:lists)
        {
            System.out.println(student.getName()+" "+student.getRecord());
        }
    }

}
class Student
{
    String name;
    int record;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getRecord() {
        return record;
    }

    public void setRecord(int record) {
        this.record = record;
    }
}

全部评论

相关推荐

Vincent777...:实习经历可以考虑放上去,对于软件使用方面可以细化一些,比如调整为:熟悉基于LSDYNA的瞬态动力学仿真分析,熟悉基于WORKBENCH的结构拓扑优化
我的简历长这样
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务