【问题标题】:Search for accounts using for loops and if statements使用 for 循环和 if 语句搜索帐户
【发布时间】:2013-04-22 11:09:14
【问题描述】:

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

这是我目前的代码:

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

【问题讨论】:

  • 你能发布异常吗?
  • 请发布确切错误信息。

标签: java arrays search loops if-statement


【解决方案1】:

NewAccount[count]null

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

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

但如果您不希望那里有 null 值,我建议您检查一下为什么会发生这种情况。

【讨论】:

  • 谢谢!这非常有效。不知道为什么它坚持它是空的。真是太感谢你了!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多