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

时间:2013-04-28 20:37:38

标签: java arrays search loops if-statement

我的程序出了问题。目前,我正在建立一个结算帐户系统。 基本上,我已经有很多系统启动和运行。作为一项功能,用户可以通过输入帐号来为其帐户执行操作,而不是让用户记住他们在阵列中的位置。因此,换句话说,系统会提示他们输入帐号,并将所有操作都归因于该帐户。

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

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语句的第一行(标准)

2 个答案:

答案 0 :(得分:0)

NewAccount[count]null

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

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

但如果您不希望null值出现,我建议您检查一下这种情况发生的原因。

答案 1 :(得分:0)

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

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