Guest User

FollowersTask

a guest
Mar 29th, 2020
156
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6. import java.util.TreeMap;
  7.  
  8. public class Followers {
  9.     public static void main(String[] args) {
  10.         Scanner scan = new Scanner(System.in);
  11.  
  12.         String input =scan.nextLine();
  13.         Map<String,Integer> followers = new TreeMap<>();
  14.  
  15.         while (!input.equals("Log out")) {
  16.  
  17.             String[] tokens = input.split(":\\s+");
  18.             String cmd = tokens[0];
  19.             String name = tokens[1];
  20.             switch (cmd) {
  21.                 case "New follower":
  22.  
  23.                     followers.putIfAbsent(name,0);
  24.                     break;
  25.                 case "Like":
  26.                     if (!followers.containsKey(tokens[1])) {
  27.                        followers.putIfAbsent(name,Integer.parseInt(tokens[2]));
  28.  
  29.                     } else {
  30.                         followers.put(name,followers.get(name)+Integer.parseInt(tokens[2]));
  31.                     }
  32.                     break;
  33.                 case "Comment":
  34.                     if (!followers.containsKey(tokens[1])) {
  35.                         followers.putIfAbsent(name,1);
  36.                     } else{
  37.                         followers.put(name, followers.get(name) + 1);
  38.                     }
  39.                     break;
  40.                 case "Blocked":
  41.                     if (!followers.containsKey(tokens[1])) {
  42.                         System.out.printf("%s doesn't exist.",tokens[1]).println();
  43.                     } else {
  44.                         followers.remove(tokens[1]);
  45.                     }
  46.                     break;
  47.             }
  48.  
  49.  
  50.             input = scan.nextLine();
  51.         }
  52.         System.out.println(String.format("%d followers", followers.size()));
  53.         followers
  54.                 .entrySet()
  55.                 .stream()
  56.                 .sorted((a1, a2) -> a2.getValue() - a1.getValue())
  57.                 .forEach(a -> System.out.println(String.format("%s: %d",a.getKey(),a.getValue())));
  58.     }
  59. }
RAW Paste Data