Java 添加到用户声明的数组引发错误

Java 添加到用户声明的数组引发错误,java,arrays,bluej,user-defined,Java,Arrays,Bluej,User Defined,调用add借款人方法时,会引发一个错误: java.lang.NullPointerException 在Membership.add借款人处(Membership.java:24) 很抱歉,如果这是一个非常愚蠢的问题,我只是被它卡住了,我到处寻找解决方案,据我所知,这就是我所实现的,但我仍然在做一些错误的事情。非常感谢您的帮助 /** * Write a description of class Membership here. * * @author (your name) * @v

调用add借款人方法时,会引发一个错误:

java.lang.NullPointerException 在Membership.add借款人处(Membership.java:24)

很抱歉,如果这是一个非常愚蠢的问题,我只是被它卡住了,我到处寻找解决方案,据我所知,这就是我所实现的,但我仍然在做一些错误的事情。非常感谢您的帮助

/**
 * Write a description of class Membership here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Membership
{
    // instance variables - replace the example below with your own
    private Borrower[] borrowers;
    private int currentIndex;

    /**
     * Constructor for objects of class Membership
     */
    public Membership(int maxNoOfBorrowers)
    {
        Borrower[] borrowers = new Borrower[maxNoOfBorrowers];
        currentIndex = 0;        
    }
    public void addBorrower(Borrower borrower)
    {
        if (currentIndex < borrowers.length)
        {
            borrowers[currentIndex] = borrower;
            currentIndex++;
        }
        else
            System.out.println("Membership full. Could not add borrower!");
    }
    public int getCapacity()
    {
        return borrowers.length;
    }
    public int getNumberOfBorrowers()
    {
        return currentIndex;
    }
    public void printAllBorrowers()
    {
        for (Borrower borrower:borrowers)
        {
            borrower.printBorrowerDetails();
        }
    }

}

此行<代码>借款人[]借款人=新借款人[maxNoOfBorrowers]需要更改为
this.bookers=新借款人[maxNoOfBorrowers]在构造函数中

问题在于在构造函数中执行以下操作:

public Membership(int maxNoOfBorrowers)
    {
        Borrower[] borrowers = new Borrower[maxNoOfBorrowers];
        currentIndex = 0;        
    }
  public Membership(int maxNoOfBorrowers)
        {
            borrowers = new Borrower[maxNoOfBorrowers];
            currentIndex = 0;        
        }
您所做的是初始化一个名为借款人的新变量,而不是该类的成员变量

你应具备以下条件:

public Membership(int maxNoOfBorrowers)
    {
        Borrower[] borrowers = new Borrower[maxNoOfBorrowers];
        currentIndex = 0;        
    }
  public Membership(int maxNoOfBorrowers)
        {
            borrowers = new Borrower[maxNoOfBorrowers];
            currentIndex = 0;        
        }

哦,太谢谢你了,我就知道这很愚蠢。对不起,浪费了你的时间:)永远不要浪费时间,祝你好运,如果你不知道的话,这是一个棘手的问题。