2014-09-08 1 views
0

У меня проблемы с циклом/возвратом правильных элементов в моем ArrayList. Когда я запускаю свою программу и использую мой метод accessor, она возвращает элементы в терминале, такие как «Member @ 13243» вместо фактического члена, который я пытаюсь вернуть. У меня есть два класса: одна «семья» и один «член».Java/BlueJ - проблема с печатью элементов в ArrayList

Мои задачи: 2) getMembers() - возвращает список членов, которые были добавлены в семью. 3) getMembers (string s) - возвращает список членов, добавленных в Family. a. Ошибка должна выводиться, если указанный пол недействителен. 4) showMembers() - использовать команду toString для печати списка членов, которые были добавлены в Family 5) showMembers (string s) - использовать команду toString для печати списка членов, которые были добавлены в семейство указанный секс.

Мой код класса семьи:

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; 
    } 
+1

Где мой метод showMembers? Где ваш метод toString? – Byron

+0

Байрон, я еще не добавил их, так как я застрял с аксессуаром для возвращения членов. Задачи, которые я перечисл, по-прежнему остаются незавершенными. Благодаря! –

ответ

0

Вы должны переопределить метод ToString в классе членов.

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

} 

 Смежные вопросы

  • Нет связанных вопросов^_^