0

ArrayList で正しいアイテムをループ/返すことに問題があります。プログラムを実行し、アクセサ メソッドを使用すると、返そうとしている実際のメンバーではなく、「Member@13243」などの項目が端末に返されます。「ファミリー」と「メンバー」の 2 つのクラスがあります。

私のタスクは次のとおりです。 2) getMembers() – ファミリーに追加されたメンバーのリストを返します。3) getMembers(string s) - ファミリーに追加されたメンバーのリストを返します。を。指定された性別が有効でない場合、エラーが出力されます。4) showMembers() – メンバーの toString を使用して、ファミリーに追加されたメンバーのリストを出力します 5) showMembers(string s) – メンバーの toString を使用して、指定された性別のファミリーに追加されたメンバーのリストを出力します.

クラス Family の私のコード:

  public class Family

 {
    // instance variables - replace the example below with your own
   public int ID;
   public String FamilyName;
   public String Address;
   public String City;
   public String State;
   public String ZipCode;
   public ArrayList<Member> list;

   public Family(int ID, String FamilyName, String Address, String City, String State, String        ZipCode)
   {
    this.ID = ID;
    this.FamilyName = FamilyName;
    this.Address = Address;
    this.City = City;
    this.State = State;
    this.ZipCode = ZipCode;
    list = new ArrayList<Member>();
   }

public void addMember(Member m )  {

   list.add(m);

}


private ArrayList<Member> getMembers(){
return list;
}


public void showAll(){
System.out.println(ID);  
System.out.println(Member.memberName);
System.out.println(FamilyName);
System.out.println(Member.memberSex); 
System.out.println(Address); 
System.out.println(City); 
System.out.println(State); 
System.out.println(ZipCode); 

}

クラスメンバーの私のコード:

 public class Member 
 {

   private String memberName;
   private String memberSex;



   public Member(String memberName, String memberSex){

    this.memberName = memberName;
    this.memberSex = memberSex;


     if (memberSex == "M"){
    memberSex = "M";}

    else if (memberSex == "F"){
    memberSex = "F";}

    else System.out.println("Please enter M or F for sex");


    }

    public String getMemberName(){
        return memberName;
    }

    public String getMemberSex(){
       return memberSex;
    }
4

1 に答える 1

0

Member クラスで toString メソッドをオーバーライドする必要があります。

 @Override
    public String toString() {
    return "Member: "+memberName, "Sex "+memberSex;

}
于 2014-09-08T12:26:39.283 に答える