我正在编写一个程序,我必须在其中创建一个方法,该方法通过与之关联的注册号查找CustomerAccount对象。 当在CustomerAccount对象的ArrayList中找不到注册号时,我还需要使用自定义异常。
我的方法在尝试搜索无效的注册号时抛出异常,但在搜索有效的注册号时不会打印任何内容。
我希望该方法输出与正确客户帐户关联的所有属性。
这是我到目前为止的方法:
public CustomerAccount findCustomer(String regNum){
CustomerAccount correctAccount = new CustomerAccount("","",null,0);
for (int i = 0; i < this.customerAccounts.size(); i++) {
if (regNum.equals(customerAccounts.get(i).getTypeOfVehicle()
.getRegNum())) {
correctAccount = customerAccounts.get(i);
return correctAccount;
} else {
try {
throw new CustomerNotFoundException("Customer Not Found");
} catch (CustomerNotFoundException e) {
e.printStackTrace();
}
}
}
return correctAccount;
}
我是一名新程序员,所以如果答案很明显我很抱歉,但经过一段时间滚动浏览论坛后,我仍然无法理解!
答案 0 :(得分:0)
您需要在 CustomerAccount
中实施“ toString()”这样的事情:
public class CustomerAccount {
private String id;
private String name;
private String email;
public CustomerAccount(String id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
@Override
public String toString() {
return "CustomerAccount{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", email='" + email + '\'' +
'}';
}
}
然后您就可以使用它:
CustomerAccount customerAccount = new CustomerAccount("1","TestUser", "TestMail");
System.out.println(customerAccount.toString());