自从我做了一些java编码以来已经有一段时间了.
我需要为需要自动化的业务(研讨会的一部分)构建一个应用程序,但这与我的问题无关......
我被困在线上:customerList.add(客户); //(WCIA类中的addCustomer方法的一部分)另外,这是我第一次被告知"将返回值赋给新变量"作为错误的一部分,因此不太清楚这意味着什么.
代码:主要
import java.util.ArrayList;
public class WCIA {
private final ArrayList customerList = null;
public static void main(String[] args) {
short s =002;
Customer arno = new Customer();
arno.setName("Arno");
arno.setId(s);
arno.setEmail("arnomeye@gmail.com");
arno.setAddress("Somewhere");
arno.setPhoneNum("0727855201");
System.out.printf("%s",arno.getEmail());
WCIA wcia = new WCIA();
wcia.addCustomer(arno);
wcia.displayCustomers();
}
public void addCustomer (Customer customer)
{
customerList.add(customer); // <---Problem over here
}
public void displayCustomers()
{
for(int x=0;x<customerList.size();x++)
{
Customer cus = (Customer) customerList.get(x);
cus.DisplayCustomer();
}
}
}
Run Code Online (Sandbox Code Playgroud)
代码:客户类:
public class Customer {
private short id;
private String name;
private String email;
private String phoneNum;
private String address;
public Customer()
{
System.out.println("Class initiated");
}
public void DisplayCustomer()
{
System.out.append("Name : "+ name+"\n");
System.out.append("ID : "+ id+"\n");
System.out.append("Email : "+ email+"\n");
System.out.append("Phone Number : "+ phoneNum+"\n");
System.out.append("address : "+ address+"\n");
}
public void setId(short id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setEmail(String email) {
this.email = email;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public void setAddress(String address) {
this.address = address;
}
public short getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public String getPhoneNum() {
return phoneNum;
}
public String getAddress() {
return address;
}
}
Run Code Online (Sandbox Code Playgroud)
您需要先实例化ArrayList,然后才能为其分配元素.你可能会得到一个NullPointerException,是我的猜测.
改变这一行:
private final ArrayList customerList = null;
Run Code Online (Sandbox Code Playgroud)
至
private final ArrayList customerList = new ArrayList();
Run Code Online (Sandbox Code Playgroud)
至少应该解决这个问题.我没有阅读你的其余代码所以我不确定是否存在其他问题.