Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fund01July2018Part2;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.HashMap;
- public class SoftUniExamResults {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- HashMap<String, Student> students = new HashMap<>();
- HashMap<String, Integer> languages = new HashMap<>();
- int cSharp = 0;
- int Java = 0;
- int Javascript = 0;
- while (true) {
- String input = reader.readLine();
- if (input.equals("exam finished")) {
- break;
- }
- String[] tokens = input.split("-");
- if (tokens.length == 2) {
- students.remove(tokens[0]);
- } else if (tokens.length == 3) {
- String name = tokens[0];
- String lang = tokens[1];
- if (!languages.containsKey(lang)) {
- languages.put(lang, 1);
- } else {
- languages.put(lang, languages.get(lang) + 1);
- }
- int points = Integer.parseInt(tokens[2]);
- if (!students.containsKey(name)) {
- Student student = new Student(name, lang, points);
- students.put(name, student);
- }
- if (students.containsKey(name)) {
- Student student = students.get(name);
- if (points > student.getPoints()) {
- student.setPoints(points);
- }
- }
- }
- String debug = "";
- }
- System.out.println("Results:");
- students.entrySet().stream().sorted((e1, e2) -> {
- int compare = Integer.compare(e2.getValue().getPoints(), e1.getValue().getPoints());
- if (compare == 0) {
- return e1.getValue().getName().compareTo(e2.getValue().getName());
- }
- return compare;
- }).
- forEach(e -> {
- System.out.printf("%s | %d%n", e.getValue().getName(), e.getValue().getPoints());
- });
- System.out.println("Submissions:");
- languages.entrySet().stream()
- .sorted((e1, e2) -> Integer.compare(e2.getValue(), e1.getValue()))
- .forEach(e -> System.out.println(e.getKey() + " - " + e.getValue()));
- }
- }
- class Student {
- private String name;
- private String language;
- private int points;
- public Student(String name, String language, int points) {
- this.name = name;
- this.language = language;
- this.points = points;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
- public int getPoints() {
- return points;
- }
- public void setPoints(int points) {
- this.points = points;
- }
- }
Add Comment
Please, Sign In to add comment