У меня есть класс, который имеет частные переменные, такие как employeeName и employeeNumber, и методы для установки и получения employeeName и employeeNumber. Этот класс называется «EmployeesInformation». В этом классе у меня есть два конструктора. Тот, который получает информацию о сотруднике, такую как EmployeesInformation(String name, String phoneNumber){...}
, и другую, которая получает ту же информацию, но также получает два дополнительных бита информации, такие как String datefired и String reasonForLeave.переместить объект из одного списка массивов в другой
Теперь в другом классе под названием «MenuOptionMethods» у меня есть метод addEmployee и метод fireEmployee и другой метод отображения информации о сотрудниках. Я создал два классаList в этом классе под названием employee и formerEmployee.
Всякий раз, когда пользователь добавляет сотрудника, я помещаю этот объект employee в массивList, называемый employee. Когда пользователь запускает или удаляет сотрудника, я хочу взять всю информацию этого сотрудника, удалить его из employeeList и добавить его в arrayList из прежнегоEmployee. Вот где у меня проблемы. Может кто-то взглянуть на мой код и рассказать мне, что с ним не так?
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
}
}
не уверен как работает итератор, но каким образом я могу добавить его в прежний массив элементов? –
Вы можете просто сделать 'прежнийEmployee.add (текущий);' –