desislava_topuzakova

05. Students

Oct 30th, 2021
1,367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.05 KB | None | 0 0
  1. package Srudents_05;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Comparator;
  5. import java.util.List;
  6. import java.util.Scanner;
  7.  
  8. public class Main {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.         List<Student> listOfStudents = new ArrayList<>();
  12.         int countStudents = Integer.parseInt(scanner.nextLine());
  13.         for (int student = 1; student <= countStudents; student++) {
  14.             String studentInfo = scanner.nextLine();
  15.             //"{first name} {second name} {grade}".split(" ")
  16.             //-> ["{firstName}", "{secondName}", "{grade}"]
  17.             String firstName = studentInfo.split(" ")[0];
  18.             String secondName = studentInfo.split(" ")[1];
  19.             double grade = Double.parseDouble(studentInfo.split(" ")[2]);
  20.  
  21.             Student studentObj = new Student(firstName, secondName, grade);
  22.             listOfStudents.add(studentObj);
  23.         }
  24.  
  25.         //сортираме по оценка -> ascending
  26.         //listOfStudents.sort(Comparator.comparing(Student::getGrade));
  27.  
  28.         //сортираме по оценка -> descending
  29.         listOfStudents.sort(Comparator.comparing(Student::getGrade).reversed());
  30.  
  31.  
  32.         for (Student student : listOfStudents) {
  33.             System.out.println(student);
  34.         }
  35.     }
  36. }
  37.  
  38.  
  39. package Srudents_05;
  40.  
  41. public class Student {
  42.     //полета -> характеристики
  43.     private String firstName;
  44.     private String secondName;
  45.     private double grade;
  46.  
  47.     //конструктор
  48.     public Student(String firstName, String secondName, double grade) {
  49.         this.firstName = firstName;
  50.         this.secondName = secondName;
  51.         this.grade = grade;
  52.     }
  53.  
  54.     //getter -> grade
  55.     public double getGrade() {
  56.         return this.grade;
  57.     }
  58.  
  59.     @Override
  60.     public String toString() {
  61.         //обект -> текст
  62.         //"{first name} {second name}: {grade}"
  63.       return String.format("%s %s: %.2f", this.firstName, this.secondName, this.grade);
  64.     }
  65. }
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
Advertisement
Add Comment
Please, Sign In to add comment