Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.sun.javafx.collections.MappingChange;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.lang.reflect.Array;
- import java.util.*;
- import java.util.stream.Collectors;
- import static java.util.Comparator.comparingInt;
- import static java.util.stream.Collectors.toMap;
- public class ForceBook {
- public static void main(String[] args) throws IOException {
- BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
- TreeMap<String, ArrayList<String>> result = new TreeMap<>();
- while (true) {
- String input = console.readLine();
- if (input.equals("Lumpawaroo")) {
- break;
- } else {
- String[] sidesUsers = input.split("([^a-zA-z\\s?]+)");
- String[] separator = input.trim().split("([a-zA-Z\\s?]+)");
- if (Arrays.asList(separator).contains("|")) {
- String forceSide = sidesUsers[0].trim();
- String forceUser = sidesUsers[1].trim();
- if (!result.containsKey(forceSide)) {
- result.put(forceSide, new ArrayList<String>());
- result.get(forceSide).add(forceUser);
- } else if (!result.get(forceSide).contains(forceUser)) {
- result.get(forceSide).add(forceUser);
- }
- } else if (Arrays.asList(separator).contains("->")) {
- String forceSide = sidesUsers[1].trim();
- String forceUser = sidesUsers[0].trim();
- if (!result.containsKey(forceSide)) {
- result.put(forceSide, new ArrayList<String>());
- result.get(forceSide).add(forceUser);
- } else if (!result.get(forceSide).contains(forceUser)) {
- for (ArrayList<String> x :
- result.values()) {
- for (String y :
- x) {
- if (y.equals(forceUser)) {
- x.remove(y);
- break;
- }
- }
- }
- result.get(forceSide).add(forceUser);
- System.out.printf("%s joins the %s side!%n", forceUser, forceSide);
- }
- }
- }
- }
- for (Map.Entry x :
- result.entrySet()) {
- if (result.get(x.getKey()).size() > 0) {
- System.out.print(String.format("Side: %s, ", x.getKey()));
- System.out.print(String.format("Members: %d%n", result.get(x.getKey()).size()));
- for (ArrayList<String> z :
- result.values()) {
- for (String y :
- z) {
- System.out.printf("! %s%n", y);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement