emodev

Untitled

Dec 10th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.20 KB | None | 0 0
  1. package fund01July2018Part2;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.HashMap;
  7.  
  8. public class SoftUniExamResults {
  9.     public static void main(String[] args) throws IOException {
  10.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  11.  
  12.         HashMap<String, Student> students = new HashMap<>();
  13.         HashMap<String, Integer> languages = new HashMap<>();
  14.  
  15.         int cSharp = 0;
  16.         int Java = 0;
  17.         int Javascript = 0;
  18.         while (true) {
  19.             String input = reader.readLine();
  20.             if (input.equals("exam finished")) {
  21.                 break;
  22.             }
  23.             String[] tokens = input.split("-");
  24.             if (tokens.length == 2) {
  25.                 students.remove(tokens[0]);
  26.             } else if (tokens.length == 3) {
  27.                 String name = tokens[0];
  28.                 String lang = tokens[1];
  29.                 if (!languages.containsKey(lang)) {
  30.                     languages.put(lang, 1);
  31.                 } else {
  32.                     languages.put(lang, languages.get(lang) + 1);
  33.                 }
  34.                 int points = Integer.parseInt(tokens[2]);
  35.                 if (!students.containsKey(name)) {
  36.                     Student student = new Student(name, lang, points);
  37.                     students.put(name, student);
  38.                 }
  39.                 if (students.containsKey(name)) {
  40.                     Student student = students.get(name);
  41.                     if (points > student.getPoints()) {
  42.                         student.setPoints(points);
  43.                     }
  44.                 }
  45.             }
  46.             String debug = "";
  47.         }
  48.  
  49.         System.out.println("Results:");
  50.         students.entrySet().stream().sorted((e1, e2) -> {
  51.             int compare = Integer.compare(e2.getValue().getPoints(), e1.getValue().getPoints());
  52.             if (compare == 0) {
  53.                 return e1.getValue().getName().compareTo(e2.getValue().getName());
  54.             }
  55.             return compare;
  56.  
  57.         }).
  58.                 forEach(e -> {
  59.                     System.out.printf("%s | %d%n", e.getValue().getName(), e.getValue().getPoints());
  60.                 });
  61.  
  62.         System.out.println("Submissions:");
  63.         languages.entrySet().stream()
  64.                 .sorted((e1, e2) -> Integer.compare(e2.getValue(), e1.getValue()))
  65.                 .forEach(e -> System.out.println(e.getKey() + " - " + e.getValue()));
  66.  
  67.  
  68.     }
  69. }
  70.  
  71.  
  72. class Student {
  73.     private String name;
  74.     private String language;
  75.     private int points;
  76.  
  77.     public Student(String name, String language, int points) {
  78.         this.name = name;
  79.         this.language = language;
  80.         this.points = points;
  81.     }
  82.  
  83.     public String getName() {
  84.         return name;
  85.     }
  86.  
  87.     public void setName(String name) {
  88.         this.name = name;
  89.     }
  90.  
  91.     public String getLanguage() {
  92.         return language;
  93.     }
  94.  
  95.     public void setLanguage(String language) {
  96.         this.language = language;
  97.     }
  98.  
  99.     public int getPoints() {
  100.         return points;
  101.     }
  102.  
  103.     public void setPoints(int points) {
  104.         this.points = points;
  105.     }
  106. }
Add Comment
Please, Sign In to add comment