/** * Store details of club memberships. * * @Rasmus Franke * @0.3 */ import java.util.LinkedList; import java.util.Iterator; import java.util.ArrayList; public class Club { private LinkedList lista; // Define any necessary fields here ... /** * Constructor for objects of class Club */ public Club() { // Initialise any fields here ... lista = new LinkedList(); } /** * Add a new member to the club's list of members. * @param member The member object to be added. */ public void join(Membership member) { int duplicate = 0; Iterator it = lista.iterator(); while(it.hasNext()){ if(it.next().getName() == member.getName()){ System.out.println("This member is already registered"); duplicate = 1; } } if(duplicate != 1){ lista.add(member); } } /** * @return The number of members (Membership objects) in * the club. */ public int numberOfMembers() { return lista.size(); } /** * Return how many members joined in the given month * @param month The month we are interested in. * @param year The year of the Membership. * @return How many members joined in the given month. */ public int joinedInMonth(int month, int year) { if((month > 12) || (month < 1)){ System.out.println("Please choose a real month"); return 0; } int number = 0; Membership member; Iterator it = lista.iterator(); while(it.hasNext()){ member = it.next(); if((member.getMonth() == month) && (member.getYear() == year)){ number++; } } return number; } /** * Remove from the club's collection all members who joined * in the given month, and return them stored in a separate * collection object. * @param month The month of the Membership. * @param year The year of the Membership. */ public ArrayList purge(int month, int year) { ArrayList purgelista; purgelista = new ArrayList(); if((month > 12) || (month < 1)){ System.out.println("Please choose a real month"); return purgelista; } Membership member; Iterator it = lista.iterator(); while(it.hasNext()){ member = it.next(); if((member.getMonth() == month) && (member.getYear() == year)){ purgelista.add(member); it.remove(); } } return purgelista; } }