Advertisement
Guest User

Untitled

a guest
Mar 5th, 2023
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.51 KB | None | 0 0
  1. package Fundamentals.AssociativeArrays.Exercises;
  2.  
  3. import java.util.*;
  4.  
  5. public class Demo {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         String input = scanner.nextLine();
  10.  
  11.         Map<String, List<String>> map = new LinkedHashMap<>();
  12.  
  13.         while (!input.equals("Lumpawaroo")) {
  14.  
  15.             if (input.contains("|")) {
  16.                 String[] inputArr = input.split(" \\| ");
  17.                 String side = inputArr[0];
  18.                 String user = inputArr[1];
  19.  
  20.                 boolean thereIsNotSuchUser = true;
  21.                 for(Map.Entry<String, List<String>> current : map.entrySet()){
  22.                     if(current.getValue().contains(user)){
  23.                         thereIsNotSuchUser = false;
  24.                         break;
  25.                     }
  26.                 }
  27.                 if (thereIsNotSuchUser) {
  28.                     if (!map.containsKey(side)) {
  29.                         map.put(side, new ArrayList<>());
  30.                     }
  31.                     map.get(side).add(user);
  32.                 }
  33.             } else if (input.contains("->")) {
  34.                 String[] inputArr = input.split(" -> ");
  35.                 String user = inputArr[0];
  36.                 String side = inputArr[1];
  37.  
  38.                 for (Map.Entry<String, List<String>> entry : map.entrySet()) {
  39.                     for (String element : entry.getValue()) {
  40.                         if (element.equals(user)) {
  41.                             entry.getValue().remove(element);
  42.                             break;
  43.                         }
  44.                     }
  45.                 }
  46.  
  47.                 if (map.containsKey(side)) {
  48.                     map.get(side).add(user);
  49.                     System.out.printf("%s joins the %s side!%n", user, side);
  50.                 } else {
  51.                     map.put(side, new ArrayList<>());
  52.                     map.get(side).add(user);
  53.                     System.out.printf("%s joins the %s side!%n", user, side);
  54.                 }
  55.  
  56.  
  57.             }
  58.  
  59.  
  60.             input = scanner.nextLine();
  61.         }
  62.  
  63.         for (Map.Entry<String, List<String>> entry : map.entrySet()) {
  64.             if (entry.getValue().size() != 0) {
  65.                 System.out.printf("Side: %s, Members: %d%n", entry.getKey(), entry.getValue().size());
  66.                 for (String element : entry.getValue()) {
  67.                     System.out.println("! " + element);
  68.                 }
  69.             }
  70.         }
  71.  
  72.  
  73.         System.out.println();
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement