PAT 返回非零 不知道哪里有问题 本地样例可以运行

题目:
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

输入格式:每个测试输入包含1个测试用例,格式为

第1行:正整数n
第2行:第1个学生的姓名 学号 成绩
第3行:第2个学生的姓名 学号 成绩
... ... ...
第n+1行:第n个学生的姓名 学号 成绩
其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。

 import java.util.*;

/**
 * Created by kolibreath on 2017/2/15.
 */
public class Main implements Comparator {

    private int flag =0;
    public static void main(String args[]){
        List<Student> list = new ArrayList<Student>();
        List<String> list1 = new ArrayList<String>();
        Scanner sc1 = new Scanner(System.in);
        Scanner sc2 = new Scanner(System.in);
        int total = sc1.nextInt();
        for (int i=0;i<total;i++){
            String studentinfo = sc2.nextLine();
            String infos[]  = studentinfo.split(" ");
            Student student= new Student(infos[0],infos[1],infos[2]);
            list.add(student);
        }
        //sort中第二个参数放一个实现了compare接口的类
        Main main = new Main();
        Collections.sort(list,main);
        Student student1 = list.get(total-1);
        Student student2 = list.get(0);
        list1.add(student2.getName()+" "+student2.getMajor());
        list1.add(student1.getName()+" "+student1.getMajor());
        for (int i=0;i<list1.size();i++){
        System.out.println(list1.get(i));
        }

    }

    @Override
    public int compare(Object o1, Object o2) {
        Student student1 = (Student)o1;
        Student student2 = (Student)o2;
        int score1 = Integer.parseInt(student1.getScore());
        int score2 = Integer.parseInt(student2.getScore());

        //compareto比较的是String类型 返回值有0,1,-1
        if (score1>score2){
            flag = -1;
        }
        if (score1==score2){
            flag = 0;
        }
        if (score1<score2){
            flag = 1;
        }
        return flag;
    }

    static class Student{
        private String name;
        private String major;
        private String score;
        public Student(String name, String major, String score){
            this.name = name;
            this.major= major;
            this.score=score;
        }
        public String getName(){
            return name;
        }
        public String getMajor(){
            return major;
        }
        public String getScore(){
            return score;
        }
    }
}


http://blog.csdn.net/u012689941/article/details/35815429