javaarraylistenumerated-types

Adding multiple parameters to ArrayList


I'm having trouble figuring out this assignment. I am only seeking an answer for a specific problem, as it seems I am a bit lost when adding things to an Array List. I have a 'Gym' class with the add method, which is supposed to create a 'Member' object from the Member class.

public class Gym {

    private String gymName;              // Identifies the name of the gym.
    private ArrayList<Member> members;   // A list of member objects.
    private double[] gymRates;           // A map that relates membership type to its fee.
    private double trainerRate;          // indicates rate charge for one hour with PT.

    /**
     * Add a new member to a gym's list of members.
     * 
     * @param hoursQ1    number of personal trainer hours the member had for quarter one.
     * @param hoursQ2    number of personal trainer hours the member had for quarter two.
     * @param hoursQ3    number of personal trainer hours the member had for quarter three.
     * @param hoursQ4    number of personal trainer hours the member had for quarter four.
     */
    public void addMember(String firstName, String lastName, MembershipType memberType, int hoursQ1, int hoursQ2,
            int hoursQ3, int hoursQ4) {
        members.add(new Member(firstName, lastName, memberType, hoursQ1, hoursQ2, hoursQ3, hoursQ4));
    }

    /**
     * Add a specified member to a gym's list of members.
     * 
     * @param member     the member to add.
     */
    public void addMember(Member member) {
        Member.add(member);
    }
}

public class Member {
    private String firstName;
    private String lastName;
    private MembershipType memberType;
    private int[] trainerHours = new int[4];
}

From my understanding the error (arguments differ in length), is because the parameter has the hours Q1-Q4, and I'm not correctly initializing those into the trainerHours array?

Also, my trainerHours array is supposed to use an enumerated type class 'Quarter' as the indices, Q1,Q2,Q3,Q4. I haven't figured this out either.. Sorry for formatting, having trouble with that too here! ;)


Solution

  • There are 2 problems in your code :