2014-09-08 3 views
0

내 ArrayList에서 올바른 항목을 반복/반환하는 데 문제가 있습니다. 내 프로그램을 실행하고 접근 자 메서드를 사용할 때 반환하려고하는 실제 멤버 대신 "Member @ 13243"과 같은 터미널 항목을 반환합니다. 나는 두 개의 반을 가지고 있는데 하나는 "가족"이고 다른 하나는 "회원"이다.Java/BlueJ - ArrayList의 항목을 인쇄하는 데 문제가 있습니다.

내 작업 : 2) getMembers() - 가족에 추가 된 회원 목록을 반환합니다. 3) getMembers (string s) - 패밀리에 추가 된 멤버 목록을 반환합니다. a. 지정된 성별이 유효하지 않은 경우 오류가 출력되어야합니다. 4) showMembers() - 멤버의 toString을 사용하여 패밀리에 추가 된 멤버 목록을 인쇄합니다. 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

Byron, 멤버를 반환하는 접근자를 붙잡 았기 때문에 아직 추가하지 않았습니다. 나열된 작업이 아직 완료되지 않았습니다. 감사! –

답변

0

당신은 당신의 회원 클래스에서 toString 메서드를 오버라이드 (override) 할 필요가 있습니다.

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

}