使用for循环和if语句搜索帐户



我的程序有问题。目前,我正在做一个账单账户系统。基本上,我已经启动并运行了大部分系统。作为一个特性,用户可以通过输入账号来执行操作,而不是让用户记住他们在数组中的位置。因此,换句话说,他们将被提示输入一个帐号,并且任何操作都归因于该帐号。

这是我到目前为止的代码:

intEntry = input.nextInt();
for (count = 0; count <= ACCLIMIT; count++)
{
    if (intEntry == NewAccount[count].getAccRefNo() )
    {
        intSelectedEntry = count;
    }//end of if statement
    else
    {
        System.out.println("Invalid ID!");
    }//end of else statement
}//end of loop
System.out.println("*******Please enter the amount you wish to deposit*******") ;
valDeposit = getBalanceValidation();
parDepositAmount = Double.valueOf(valDeposit).doubleValue ();
NewAccount[intSelectedEntry].deposit(parDepositAmount);

当我运行它时,一旦我输入ID号intEntry,它就崩溃了。它说错误在if语句条件的那一行,如果有帮助的话。请注意,我对Java非常陌生,我非常感谢以简单的方式解释这个帮助。(谢谢!)

错误信息如下:

Exception in thread "main" java.lang.NullPointerException
at pkgGasAccount.UsingBusinessAccount.main(UsingBusinessAccount.java:106)

Java Result: 1

第106行是if语句(条件)的第一行

NewAccount[count] is null

您应该检查NewAccount[count] != null:

if (NewAccount[count]!= null && intEntry == NewAccount[count].getAccRefNo() )

但是如果你不期望那里的null值,我建议你检查一下为什么会发生这种情况

NullPointerException正在被抛出,因此我可以说您的代码正在尝试访问未定义的数组或指向空值(默认值)

由于只有一个数组NewAccount[],因此我将检查相同的声明

最新更新