1083 List Grades java

    xiaoxiao2022-07-04  218

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.

    Input Specification:

    Each input file contains one test case. Each case is given in the following format:

    N name[1] ID[1] grade[1] name[2] ID[2] grade[2] ... ... name[N] ID[N] grade[N] grade1 grade2

    where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.

    Output Specification:

    For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is no student's grade in that interval, output NONE instead.

    Sample Input 1:

    4 Tom CS000001 59 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 60 100

    Sample Output 1:

    Mike CS991301 Mary EE990830 Joe Math990112

    Sample Input 2:

    2 Jean AA980920 60 Ann CS01 80 90 95

    Sample Output 2:

    NONE import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); scanner.nextLine(); List<Student1083> student1083s = new ArrayList<>(); for (int i=0; i<n; ++i) { Student1083 temp = new Student1083(); String inputString = scanner.nextLine(); String[] eachInput = inputString.split("\\s+"); temp.name = eachInput[0]; temp.id = eachInput[1]; temp.score = Integer.parseInt(eachInput[2]); student1083s.add(temp); } int grade1 = scanner.nextInt(); int grade2 = scanner.nextInt(); Collections.sort(student1083s); boolean tag = true; for (int i=0; i<student1083s.size(); ++i) { Student1083 temp = student1083s.get(i); if (temp.score>=grade1&&temp.score<=grade2) { System.out.println(temp.name+" "+temp.id); tag = false; } } if (tag) { System.out.println("NONE"); } } } class Student1083 implements Comparable<Student1083>{ String name; String id; Integer score; @Override public int compareTo(Student1083 o) { return o.score.compareTo(this.score); } @Override public String toString() { return "Student1083{" + "name='" + name + '\'' + ", id='" + id + '\'' + ", score=" + score + '}'; } }

     

    最新回复(0)