我有一个类具有私有变量,如employeeName和employeeNumber以及设置和获取employeeName和employeeNumber的方法。这个类被称为“EmployeesInformation”。在这个类中,我有两个构造函数。一个获取员工信息的例如EmployeesInformation(String name, String phoneNumber){...}
,另一个获取相同的信息,但也收到另外两个信息,如String datefired和String reasonForLeave。将一个对象从一个数组列表移动到另一个
现在在另一个名为“MenuOptionMethods”的类中,我有addEmployee方法和fireEmployee方法以及另一种显示雇员信息的方法。 我在这个类称为员工和formerEmployee创建了两个数组列表。
每当用户添加一个雇员时,我都会将该雇员对象放入名为employee的arrayList中。当用户触发或删除员工时,我想要将该员工的所有信息都删除,请将其从arrayList员工中删除,并将其添加到arrayList前员工。那是我遇到问题的地方。有人可以看看我的代码,并告诉我它有什么问题吗?
public class menuOptionMethods {
Scanner sc = new Scanner(System.in);
private ArrayList<EmployeesInformation> employee;
private ArrayList<EmployeesInformation> formerEmployee;
public menuOptionMethods() {
employee = new ArrayList<EmployeesInformation>();
formerEmployee = new ArrayList<EmployeesInformation>();
}
public void addEmployee(String eName) {
String n = eName;
System.out.println(" Enter date hired: ");
String h = sc.next();
System.out.println(" Enter employee's duty: ");
String d = sc.next();
System.out.println(" Enter employee's phone number: ");
String pN = sc.next();
System.out.println(" Enter employee's pay per hour: ");
double pPH = sc.nextInt();
System.out
.println(" Enter any additional information about employee: ");
String l = sc.next();
EmployeesInformation e = new EmployeesInformation(n, h, d, l, pN, pPH);
employee.add(e);
}
public void fireEmployee(String eName) {
// System.out.println("Enter employee's name: ");
// String name = eName;
System.out.println("Reason for employee's leave?: ");
String reason = sc.next();
System.out.println("Enter date: ");
String dF = sc.next();
for(int i=0; i<employee.size(); i++){
if(employee.get(i).getEmployeName().contains(eName)){
n = eName;
h = employee.get(i).getDateHired();
d = employee.get(i).getEmployeDuty();
pH = employee.get(i).getPhoneNumber();
pPH = employee.get(i).getEmployePay();
l = employee.get(i).getAdditionalInformation();
employee.remove(i);
}
}
EmployeesInformation fE = new EmployeesInformation(n,h,d,l,pH,pPH,reason,dF); // ERROR HAPPENS HERE
}
}
不知道迭代器是如何工作的,但是如何将它添加到formerEmployee arrayList中? –
你可以做'formerEmployee.add(current);' –