Advertisement
Didart

Followers

Dec 5th, 2021
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.10 KB | None | 0 0
  1. import java.util.Map;
  2. import java.util.Scanner;
  3. import java.util.TreeMap;
  4.  
  5. public class Followers {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         Map<String, Integer> followers = new TreeMap<>();
  10.  
  11.         String input;
  12.  
  13.         while (!"Log out".equals(input = scanner.nextLine())) {
  14.             String[] data = input.split(": ");
  15.  
  16.             String command = data[0];
  17.             String username = data[1];
  18.  
  19.             switch (command) {
  20.                 case "New follower":
  21.                     if (!followers.containsKey(username)) {
  22.                         followers.put(username, 0);
  23.                     }
  24.  
  25.                     break;
  26.                 case "Like":
  27.                     int countOfLikes = Integer.parseInt(data[2]);
  28.  
  29.                     if (!followers.containsKey(username)) {
  30.                         followers.put(username, countOfLikes);
  31.                     } else {
  32.                         followers.put(username, followers.get(username) + countOfLikes);
  33.                     }
  34.  
  35.                     break;
  36.                 case "Comment":
  37.                     if (!followers.containsKey(username)) {
  38.                         followers.put(username, 1);
  39.                     } else {
  40.                         followers.put(username, followers.get(username) + 1);
  41.                     }
  42.  
  43.                     break;
  44.                 case "Blocked":
  45.                     if (followers.containsKey(username)) {
  46.                         followers.remove(username);
  47.                     } else {
  48.                         System.out.printf("%s doesn't exist.%n", username);
  49.                     }
  50.  
  51.                     break;
  52.             }
  53.         }
  54.  
  55.         System.out.printf("%d followers%n", followers.size());
  56.  
  57.         followers.entrySet().stream()
  58.                 .sorted(Map.Entry.<String, Integer>comparingByValue()
  59.                         .reversed()
  60.                         .thenComparing(Map.Entry::getKey))
  61.                 .forEach(entry -> System.out.printf("%s: %d%n", entry.getKey(), entry.getValue()));
  62.     }
  63. }
  64.  
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement