Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Fundamentals;
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int teamCount = Integer.parseInt(scanner.nextLine());
- List<Team> teams = new ArrayList<>();
- for (int i = 1; i <= teamCount; i++) {
- String[] inputCreatorTeam = scanner.nextLine().split("-");
- String creator = inputCreatorTeam[0];
- String team = inputCreatorTeam[1];
- Team newTeam = new Team(team, creator);
- if (isTeamExist(teams, team)) {
- teams.add(newTeam);
- System.out.printf("Team %s has been created by %s!\n", team, creator);
- } else {
- for (Team currentTeam : teams) {
- if (currentTeam.getName().equals(team)) {
- System.out.printf("Team %s was already created!\n", team);
- } else if (currentTeam.getCreator().equals(creator)) {
- System.out.printf("%s cannot create another team!\n", creator);
- }
- }
- }
- }
- String inputCommand = scanner.nextLine();
- while (!inputCommand.equals("end of assignment")) {
- String[] inputUserTeam = inputCommand.split("->");
- String userToJoin = inputUserTeam[0];
- String teamToJoin = inputUserTeam[1];
- if (isTeamExist(teams, teamToJoin)) {
- System.out.printf("Team %s does not exist!\n", teamToJoin);
- } else {
- if (isMemberExist(teams, userToJoin)) {
- System.out.printf("Member %s cannot join team %s!\n", userToJoin, teamToJoin);
- } else {
- for (Team team : teams) {
- if (team.getName().equals(teamToJoin)) {
- team.addMember(userToJoin);
- }
- }
- }
- }
- inputCommand = scanner.nextLine();
- }
- teams.sort(Comparator.comparing(Team::getName));
- teams.sort(Comparator.comparing(Team::membersCount).reversed());
- for (Team currentTeam : teams) {
- currentTeam.getMembers().sort(String::compareTo);
- if (!currentTeam.getMembers().isEmpty()) {
- System.out.println(currentTeam.getName());
- System.out.printf("- %s\n", currentTeam.getCreator());
- for (String member : currentTeam.getMembers()) {
- System.out.printf("-- %s\n", member);
- }
- }
- }
- System.out.println("Teams to disband:");
- for (Team team : teams) {
- if (team.getMembers().isEmpty()) {
- System.out.println(team.getName());
- }
- }
- }
- private static boolean isMemberExist(List<Team> teams, String userToJoin) {
- for (Team team : teams) {
- if (team.getMembers().contains(userToJoin) || (team.getCreator().equals(userToJoin))) {
- return true;
- }
- }
- return false;
- }
- private static boolean isTeamExist(List<Team> teams, String teamToJoin) {
- for (Team team : teams) {
- if (team.getName().equals(teamToJoin)) {
- return false;
- }
- }
- return true;
- }
- }
- package Fundamentals;
- import java.util.ArrayList;
- import java.util.List;
- public class Team {
- private String name;
- private String creator;
- private List<String> members = new ArrayList<>();
- public Team(String name, String creator) {
- this.name = name;
- this.creator = creator;
- }
- public String getName() {
- return name;
- }
- public String getCreator() {
- return creator;
- }
- public List<String> getMembers() {
- return members;
- }
- public int membersCount() {
- return members.size();
- }
- public void addMember(String memberName) {
- members.add(memberName);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement