我的程序出了问题。目前,我正在建立一个结算帐户系统。 基本上,我已经有很多系统启动和运行。作为一项功能,用户可以通过输入帐号来为其帐户执行操作,而不是让用户记住他们在阵列中的位置。因此,换句话说,系统会提示他们输入帐号,并将所有操作都归因于该帐户。
这是我到目前为止的代码:
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结果:1
106行是if语句的第一行(标准)
答案 0 :(得分:0)
NewAccount[count]
是null
。
您应该检查NewAccount[count] != null
:
if (NewAccount[count]!= null && intEntry == NewAccount[count].getAccRefNo() )
但如果您不希望null
值出现,我建议您检查一下这种情况发生的原因。
答案 1 :(得分:0)
正在抛出NullPointerException,因此我可以说您的代码正在尝试访问未定义的数组或指向空值(默认值)
由于只有一个数组NewAccount [],因此我会检查相同的声明。