真的坚持这一点所以任何帮助表示我只是一个初学者基本上我有3个班叫做Account,Address& AccountCollection中的AccountCollection我必须创建一个布尔搜索,它将使用Account类的方法在给定帐号的情况下打印单个帐户。如果这是无效的,则应输出“帐户号码为帐户:[accountNumber]未找到。”
我到目前为止的代码是
public boolean getAccount(String accountNumber)
{
for (Account account : accounts)
{
if (account.getAccountNumber().equals(accountNumber))
{
account.printAccountDetails();
System.out.println();
return true;
}
}
return false;
}
这似乎工作,直到我输入错误的值然后它给我一个空指针异常61任何帮助将是非常好的谢谢
答案 0 :(得分:0)
数组列表和类似结构接受添加空对象。
ArrayList<String> asd = new ArrayList<>();
asd.add(null);
asd.get(0).substring(0); // it will crash here on calling substring() for null object.
您必须检查添加空帐户的位置。并在那里修复它,除非它要求接受一个空对象。
如果您接受帐户的空对象,请在搜索方法中执行以下操作,将空对象跳转到下一个对象。
public boolean getAccount(String accountNumber)
{
for (Account account : accounts)
{
if(account != null)
{
if (account.getAccountNumber().equals(accountNumber))
{
account.printAccountDetails();
System.out.println();
return true;
}
}
}
return false;
}
答案 1 :(得分:-1)
尝试添加
public boolean getAccount(String accountNumber)
{
for (Account account : accounts)
{
if(account == null) {
return false;
}
if (account.getAccountNumber().equals(accountNumber))
{
account.printAccountDetails();
System.out.println();
return true;
}
}
return false;
}