为了账号安全,请及时绑定邮箱和手机立即绑定

遇到空指针异常需要第三双眼睛来协助

遇到空指针异常需要第三双眼睛来协助

Helenr 2022-06-15 10:52:17
我奇怪地遇到了一个为我的联系人类打印 null 的问题。它似乎不喜欢 PhoneNumberList 的数字构造函数。我只是想返回跟踪数字等的计数,但它只为 getNumber 和 getNumberCount 返回 null。尝试将计数从私有更改为公共以直接访问以及更改名称和构造函数。  public class Contact{    private String name;    private PhoneNumberList numbers;    // Purpose:    //  initialize this instance of Contact    //  with no PhoneNumber    //    public Contact (String theName)    {        // You must allocate a PhoneNumberList here        numbers = new PhoneNumberList();        name = theName;    }    // Purpose:    //  initialize this instance of Contact    //  add p to the list of phone numbers associated with     //  this Contact    //    public Contact (String theName, PhoneNumber p)    {        // You must allocate a PhoneNumberList here        PhoneNumberList numbers = new PhoneNumberList();        name = theName;        numbers.add(p);    }    // Purpose:     //  return the name associated with this instance    //    public String getName ()    {        return name;    }    // Purpose:    //  change the name associated with this instance to be newName    //    public void setName(String newName)    {        name = newName;    }    // Purpose:    //  add a new PhoneNumber to this contact    //  there is no maximum number of phone numbers that can be    //  assigned to a contact.    //    public void addNumber (PhoneNumber p)    {        numbers.add(p);    }    // Purpose:    //  remove p from the list of PhoneNumbers associated with this contact    //  if p is not in the list, do nothing.    //    public void removeNumber (PhoneNumber p)    {        int index = numbers.find(p);        numbers.remove(index);    }    // Purpose:    //  return the count of PhoneNumbers associated with this contact    //    public int getNumberCount()    {        return numbers.count;    }
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

以下构造函数是错误的。它正在方法中创建一个名称为 numbers 的临时对象。


public Contact (String theName, PhoneNumber p)

{

    // You must allocate a PhoneNumberList here

    PhoneNumberList numbers = new PhoneNumberList();

    name = theName;

    numbers.add(p);


}

您需要将其更改为


public Contact (String theName, PhoneNumber p)

{

    // You must allocate a PhoneNumberList here

    numbers = new PhoneNumberList();

    name = theName;

    numbers.add(p);


}


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信