我正在用Java创建一个由3个程序包组成的客户经理应用程序。 1.)一个客户模型,它模拟一个客户及其实例变量(以及getter和setter)。 2.)客户数据库,该数据库具有以下方法:i。)创建客户列表,ii。)在列表中搜索给定的客户ID,iii。)删除客户,以及IV。)添加新客户。我的第三堂课是一个菜单驱动的应用程序,应该从阵列列表中打印客户详细信息。我不知道该怎么做。
在测试人员类中,我从用户那里获取客户ID,然后尝试搜索与该客户ID相对应的客户。我曾尝试创建一个customerDataBase(CustomerDB)对象并使用我编写的搜索方法,但始终收到null异常。
// how im trying to create a customer list in the tester:
if (userChoice == 1) {
System.out.println("Creating new customer list...");
CustomerDB customerDB = new CustomerDB();
customerDB.createList();
}
// my search method in my CustomerDB class:
public Customer searchCustomer(String customerID) {
for (Customer customer : customerList) {
if (customer.getCustomerID().equals(customerID)) {
return customer;
}
}
return null;
}
// In the tester class, trying to print a customer from the list
// User enters '2' to print customer details after creating a list.
else if (userChoice == 2) {
System.out.println("What is the ID of the customer to print?");
String customerID = scnr.next();
CustomerDB customerDB = new CustomerDB();
customerDB.searchCustomer(customerID);
System.out.println(customerDB.toString());
}
我希望代码能够为客户输出实例变量,但是相反,我得到了一个空异常,指向我的searchCustomer方法。