Advertisement
tripTiPscout

04. Teamwork projects

May 23rd, 2022
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.11 KB | None | 0 0
  1. package Fundamentals;
  2.  
  3. import java.util.*;
  4.  
  5. public class Main {
  6.  
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         int teamCount = Integer.parseInt(scanner.nextLine());
  11.  
  12.         List<Team> teams = new ArrayList<>();
  13.  
  14.         for (int i = 1; i <= teamCount; i++) {
  15.             String[] inputCreatorTeam = scanner.nextLine().split("-");
  16.  
  17.             String creator = inputCreatorTeam[0];
  18.             String team = inputCreatorTeam[1];
  19.  
  20.             Team newTeam = new Team(team, creator);
  21.  
  22.             if (isTeamExist(teams, team)) {
  23.                 teams.add(newTeam);
  24.                 System.out.printf("Team %s has been created by %s!\n", team, creator);
  25.             } else {
  26.                 for (Team currentTeam : teams) {
  27.                     if (currentTeam.getName().equals(team)) {
  28.                         System.out.printf("Team %s was already created!\n", team);
  29.                     } else if (currentTeam.getCreator().equals(creator)) {
  30.                         System.out.printf("%s cannot create another team!\n", creator);
  31.                     }
  32.                 }
  33.             }
  34.         }
  35.  
  36.         String inputCommand = scanner.nextLine();
  37.  
  38.         while (!inputCommand.equals("end of assignment")) {
  39.             String[] inputUserTeam = inputCommand.split("->");
  40.  
  41.             String userToJoin = inputUserTeam[0];
  42.             String teamToJoin = inputUserTeam[1];
  43.  
  44.             if (isTeamExist(teams, teamToJoin)) {
  45.                 System.out.printf("Team %s does not exist!\n", teamToJoin);
  46.             } else {
  47.                 if (isMemberExist(teams, userToJoin)) {
  48.                     System.out.printf("Member %s cannot join team %s!\n", userToJoin, teamToJoin);
  49.                 } else {
  50.                     for (Team team : teams) {
  51.                         if (team.getName().equals(teamToJoin)) {
  52.                             team.addMember(userToJoin);
  53.                         }
  54.                     }
  55.                 }
  56.             }
  57.             inputCommand = scanner.nextLine();
  58.         }
  59.  
  60.         teams.sort(Comparator.comparing(Team::getName));
  61.         teams.sort(Comparator.comparing(Team::membersCount).reversed());
  62.  
  63.         for (Team currentTeam : teams) {
  64.             currentTeam.getMembers().sort(String::compareTo);
  65.             if (!currentTeam.getMembers().isEmpty()) {
  66.                 System.out.println(currentTeam.getName());
  67.                 System.out.printf("- %s\n", currentTeam.getCreator());
  68.                 for (String member : currentTeam.getMembers()) {
  69.                     System.out.printf("-- %s\n", member);
  70.                 }
  71.             }
  72.         }
  73.  
  74.         System.out.println("Teams to disband:");
  75.         for (Team team : teams) {
  76.             if (team.getMembers().isEmpty()) {
  77.                 System.out.println(team.getName());
  78.             }
  79.         }
  80.     }
  81.  
  82.     private static boolean isMemberExist(List<Team> teams, String userToJoin) {
  83.         for (Team team : teams) {
  84.             if (team.getMembers().contains(userToJoin) || (team.getCreator().equals(userToJoin))) {
  85.                 return true;
  86.             }
  87.         }
  88.         return false;
  89.     }
  90.  
  91.     private static boolean isTeamExist(List<Team> teams, String teamToJoin) {
  92.         for (Team team : teams) {
  93.             if (team.getName().equals(teamToJoin)) {
  94.                 return false;
  95.             }
  96.         }
  97.         return true;
  98.     }
  99.  
  100. }
  101.  
  102. package Fundamentals;
  103.  
  104. import java.util.ArrayList;
  105. import java.util.List;
  106.  
  107. public class Team {
  108.  
  109.     private String name;
  110.     private String creator;
  111.     private List<String> members = new ArrayList<>();
  112.  
  113.     public Team(String name, String creator) {
  114.         this.name = name;
  115.         this.creator = creator;
  116.     }
  117.  
  118.     public String getName() {
  119.         return name;
  120.     }
  121.  
  122.     public String getCreator() {
  123.         return creator;
  124.     }
  125.  
  126.     public List<String> getMembers() {
  127.         return members;
  128.     }
  129.  
  130.     public int membersCount() {
  131.         return members.size();
  132.     }
  133.  
  134.     public void addMember(String memberName) {
  135.         members.add(memberName);
  136.     }
  137.  
  138. }
  139.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement