java数组元素中的空指针异常

Dfs*_*dsf -2 java nullpointerexception

这是一个家庭作业问题,当我运行测试仪时,它给了我空指针异常.错误似乎在我的行

balance[i]=InitialBalance; 
Run Code Online (Sandbox Code Playgroud)

 

public class Bank
{

    private BankAccount[] accounts;
    private double [] balance;
    int NumbersOfBankAccount;
    double InitialBalance;
    public Bank (int x, double y )
    {
        NumbersOfBankAccount = x;
        InitialBalance = y;

    }


    /**
     *     This method will get balance of specified bank account.
     */
    public double getBalance(int index)
    {
        for(int i = 0; i <NumbersOfBankAccount; i++)
        {
            balance[i]=InitialBalance; 
        }
        System.out.println(balance);
        return balance[index]; 
    }
}
Run Code Online (Sandbox Code Playgroud)

jlo*_*rdo 7

balance并且accounts从未初始化.

你在构造函数中缺少这样的东西:

balance = new double[NumbersOfBankAccount];
accounts = new BankAccount[NumbersOfBankAccount];
Run Code Online (Sandbox Code Playgroud)


Doo*_*nob 5

balance 未初始化.

private double [] balance;
Run Code Online (Sandbox Code Playgroud)

这是一个修复:

public Bank (int x, double y )
{
    NumbersOfBankAccount = x;
    balance = new double[NumbersOfBankAccount];
    accounts = new BankAccount[NumbersOfBankAccount];
    InitialBalance = y;

}
Run Code Online (Sandbox Code Playgroud)

NumbersOfBankAccount也是一个很长的名字,输入很繁琐.你应该改变它numAccounts或类似的东西.

另一件事:按照惯例,变量名称通常以小写字母开头.(InitialBalance应该initialBalance)