我是 Java 新手,我一直在尝试调试我的代码,但无济于事。我正在尝试使用 arrayList 为 newEmployee 构建一个数组并将其附加一个员工数组列表( ArrayList> )。dateParse、nameParse 和 addressParse 是在此数组方法中调用的单独方法。
错误在哪里:
import java.util.ArrayList;
public class NewEmployee {
private ArrayList<ArrayList<String>> allEmployees;
private ArrayList<String> currentEmployee;
//Constructor
NewEmployee(String number, String name, String address, String date) {
//grab first field, Number
this.currentEmployee.set(0, number);
//grab next field, full Name and pass to nameParse as input
NameParse nameParse = new NameParse(name);
this.currentEmployee.set(1 , nameParse.getFirstName());
this.currentEmployee.set(2, nameParse.getLastName());
//call to Address Parse to separate address fields
AddressParse addressParse = new AddressParse(address);
this.currentEmployee.set(3, addressParse.getStreet());
this.currentEmployee.set(4, addressParse.getCity());
this.currentEmployee.set(5, addressParse.getStateCode());
this.currentEmployee.set(6, addressParse.getPostalCode());
//grab last input field, Hire Date & sent to DateParse
DateParse dateParse = new DateParse(date);
this.currentEmployee.set(7, dateParse.getMonth());
this.currentEmployee.set(8, dateParse.getDay());
this.currentEmployee.set(9, dateParse.getYear());
//add the current employee to a row in allEmployees
this.allEmployees.add(this.currentEmployee);
}
//default constructor
NewEmployee(){
this.currentEmployee = new ArrayList<String>();
//this.allEmployees = new ArrayList<ArrayList<String>>();
}
public String[][] toArray() {
//10 fields for each employee
String [][] everyEmployee = new String[this.allEmployees.size()][10];
return everyEmployee;
}
public String toString() {
//create temporary string of values
StringBuilder tempEmployee = new StringBuilder();
for (int i=0; i<this.allEmployees.size()-1; i++) {
//String [] empDetails = new String[allEmployees(i).size]
for(int j = 0; j<10; j++) {
//insert arraylist values, elementwise into string
tempEmployee = tempEmployee.append(this.allEmployees.get(i).get(j));
}
}
//return the string
return tempEmployee.toString();
}
public ArrayList<ArrayList<String>> getAllEmployees() {
return this.allEmployees;
}
public ArrayList<String> getCurrentEmployee() {
return this.currentEmployee;
}
}
从 main 开始,变量被正确输入并在规范内发送,但我在
this.currentEmployee.set(0, number);
如果有人可以帮助了解如何使这项工作或为什么它不工作,那将是惊人的!