Guest User

ForceBook

a guest
Nov 21st, 2023
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class ForceBook {
  4.     public static void main(String[] args) {
  5.         Scanner sc = new Scanner(System.in);
  6.  
  7.         Map<String, List<String>> book = new LinkedHashMap<>();
  8.         Map<String, String> users = new HashMap<>();
  9.  
  10.         while (true) {
  11.             String input = sc.nextLine();
  12.  
  13.             if (input.equalsIgnoreCase("Lumpawaroo")) break;
  14.  
  15.             String side = "", user = "";
  16.  
  17.             if (input.contains(" | ")) {
  18.                 String[] inputValues = input.split(" \\| ");
  19.                 side = inputValues[0].trim();
  20.                 user = inputValues[1].trim();
  21.  
  22.                 if (!users.containsKey(user)) {
  23.                     users.put(user, side);
  24.  
  25.                     if (!book.containsKey(side)) {
  26.                         book.put(side, new ArrayList<>());
  27.                     }
  28.                     book.get(side).add(user);
  29.                 }
  30.  
  31.             } else if (input.contains(" -> ")) {
  32.                 String[] inputValues = input.split(" -> ");
  33.                 side = inputValues[1].trim();
  34.                 user = inputValues[0].trim();
  35.  
  36.                 if (users.containsKey(user)) {
  37.                     String oldSide = users.remove(user);
  38.                     book.get(oldSide).remove(user);
  39.                     book.get(side).add(user);
  40.                     users.put(user, side);
  41.                 } else {
  42.                     users.put(user, side);
  43.                     if (!book.containsKey(side)) {
  44.                         book.put(side, new ArrayList<>());
  45.                     }
  46.                     book.get(side).add(user);
  47.                 }
  48.  
  49.                 System.out.printf("%s joins the %s side!%n", user, side);
  50.             }
  51.         }
  52.         sc.close();
  53.  
  54.         for (Map.Entry<String, List<String>> force : book.entrySet()) {
  55.             if (force.getValue().size() > 0) {
  56.                 System.out.printf("Side: %s, Members: %s%n", force.getKey(), force.getValue().size());
  57.                 for (String user : force.getValue()) {
  58.                     System.out.println("! " + user);
  59.                 }
  60.             }
  61.         }
  62.     }
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment