簡體   English   中英

向ArrayList添加多個參數

[英]Adding multiple parameters to ArrayList

我無法搞清楚這項任務。 我只是在尋找特定問題的答案,因為在向Array List添加內容時我似乎有點迷失。 我有一個帶有add方法的'Gym'類,它應該從Member類創建一個'Member'對象。

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];
}

從我的理解錯誤(參數長度不同),是因為參數有Q1-Q4小時,我沒有正確地初始化為trainerHours數組?

另外,我的trainerHours數組應該使用枚舉類型“Quarter”作為索引Q1,Q2,Q3,Q4。 我也沒有想到這一點..抱歉格式化,在這里也有問題! ;)

您的代碼中有2個問題:

  • 首先,當你調用new Member(...)時,沒有定義該函數,因為你沒有為類成員定義帶有這些參數的構造函數
  • 第二,你的第二個addMember方法是錯誤的,它應該是members.add(...)而不是Member.add

我應該為Member類創建以下構造函數:

public Member(String pFirstName, String pLastName, MembershipType pMemberType, int hoursQ1, int hoursQ2, int hoursQ3, int hoursQ4){
    firstName = pFirstName;
    lastNam = pLastName;
    memberType = pMemberType;
    trainerHours[0] = hoursQ1;
    trainerHours[1] = hoursQ2;
    trainerHours[2] = hoursQ3;
    trainerHours[3] = hoursQ4;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM