Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.concurrent.atomic.AtomicInteger;
  3.  
  4. public class InternationalSoftUniada2 {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7. LinkedHashMap<String, List<String>> countryAndName = new LinkedHashMap<>();
  8. HashMap<String, Integer> nameAndPoints = new HashMap<>();
  9. String input = scanner.nextLine();
  10. while (!input.equals("END")) {
  11. String[] tokens = input.split(" ->");
  12. String country = tokens[0];
  13. String name = tokens[1];
  14. if (!countryAndName.containsKey(country)) {
  15. countryAndName.put(country, new ArrayList<>());
  16. countryAndName.get(country).add(name);
  17. }
  18. if (!nameAndPoints.containsKey(name)) {
  19. int point = Integer.parseInt(tokens[2].trim());
  20. nameAndPoints.put(name, point);
  21. } else {
  22. int point = Integer.parseInt(tokens[2].trim());
  23. int currentPoint = nameAndPoints.get(name) + point;
  24. nameAndPoints.put(name, currentPoint);
  25. }
  26. input = scanner.nextLine();
  27. }
  28.  
  29. countryAndName.entrySet().forEach(entry -> System.out.printf("%s: %d%n", entry.getKey()
  30. ,nameAndPoints.entrySet().stream().mapToInt(e -> e.getValue()).sum()));
  31.  
  32. nameAndPoints.entrySet().stream()
  33. .sorted((e1, e2) -> e2.getValue().compareTo(e1.getValue()))
  34. .forEach(entry -> System.out.printf(" -- %s -> %d%n", entry.getKey(), entry.getValue()));
  35.  
  36. }
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement