Advertisement
CR7CR7

dark

Nov 3rd, 2022
1,294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.46 KB | None | 0 0
  1. import java.util.List;
  2. import java.util.LinkedHashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5.  
  6. class DarkSide {
  7.     public static void main(String[] args) {
  8.         Scanner scanner=new Scanner(System.in);
  9.         String command =scanner.nextLine();
  10.         Map<String ,List<String>>map = new LinkedHashMap<>();
  11.         while(!command.equals("Lumpawaroo")){
  12.          
  13.             if(command.contains("|")){
  14.                 String group =command.split("\\s+|\\s+")[0];
  15.                 String user=command.split("\\s+|\\s+")[1];
  16.                 if(!map.containsKey(group)){
  17.                     map.put(group, new ArrayList<>());
  18.                     map.get(group).add(user);
  19.                 } else {
  20.                     List<String>currentPlayers=map.get(group);
  21.                     if(currentPlayers.contains(user)){
  22.                         currentPlayers.add(user);
  23.                         map.put(group,currentPlayers);
  24.                     }
  25.                    
  26.                    
  27.                 }
  28.                /* boolean isExistUser=false;
  29.                 for(List<String>listUsers:map.values()){
  30.                     if(listUsers.contains(user)){
  31.                         isExistUser=true;
  32.                         break;
  33.                     }
  34.                 }
  35.                 if(!isExistUser){
  36.                     map.get(group).add(user);
  37.                 }*/
  38.                
  39.             } else if(command.contains("->")){
  40.                 String user=command.split("\\s+->\\s+")[0];
  41.                 String group =command.split("\\s+->\\s+")[1];
  42.                 map.entrySet().forEach(entry ->entry.getValue().remove(user));
  43.                  if(map.containsKey(group)){
  44.                     List<String>currentPlayers=map.get(group);
  45.                     currentPlayers.add(user);
  46.                     map.put(group,currentPlayers);
  47.                 }else{
  48.                     map.put(group, new ArrayList<>());
  49.                     map.get(group).add(user);
  50.                    
  51.                 }
  52.                System.out.printf("%s  joins the %s side!%n",user,group);
  53.             }
  54.             command =scanner.nextLine();
  55.         }
  56.         map.entrySet().stream().filter(entry ->entry.getValue().size()>0).forEach(entry ->{
  57.             System.out.printf("Side: %s, Members: %d",entry.getKey(),entry.getValue().size());
  58.             entry.getValue().forEach(user ->System.out.println("!"+user));
  59.             }
  60.         );
  61.        
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement