【问题标题】:Java/BlueJ - Trouble printing out items in an ArrayListJava/BlueJ - 无法打印出 ArrayList 中的项目
【发布时间】:2014-09-08 11:58:44
【问题描述】:

我在 ArrayList 中循环/返回正确项目时遇到问题。当我运行我的程序并使用我的访问器方法时,它会返回终端中的项目,例如“Member@13243”,而不是我试图返回的实际成员。我有两个班级,一个是“家庭”,一个是“会员”。

我的任务是: 2) getMembers() – 返回已添加到家庭的成员列表。 3) getMembers(string s) - 返回已添加到家庭的成员列表。 一种。如果指定的性别无效,则应输出错误。 4) showMembers() - 使用 Member 的 toString 打印已添加到家庭的成员列表 5) showMembers(string s) - 使用 Member 的 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;
    }

【问题讨论】:

  • 你的 showMembers 方法在哪里?你的 toString 方法在哪里?
  • 拜伦,我还没有添加它们,因为我坚持使用返回成员的访问器。我列出的任务仍有待完成。谢谢!

标签: java arraylist accessor bluej mutators


【解决方案1】:

你应该在你的 Member 类中重写 toString 方法。

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

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2018-09-03
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多