Привет всем еще раз спасибо, что нашли время, чтобы посмотреть на мою проблему.
Я пытаюсь создать программу, которая отслеживает сотрудников и различные отделы, в которых они работают.
Программа сначала считывает из текстового файла все исходные данные, чтобы запустить программу. Затем программа имеет цикл while внутри цикла while. Первый цикл прочитает сведения об отделе, а затем создаст отдел.
затем в следующем (внутреннем) цикле while он считывает всех сотрудников, связанных с этим отделом. Затем, после прочтения сведений о сотруднике, он создает сотрудника и добавляет его в ранее созданный отдел, чтобы сказать, что это отдел, в котором я работаю.
после добавления всех сотрудников в отдел он выходит из этого внутреннего цикла и отправляет отдел с сотрудниками внутри него в mainDriver для хранения. Это делается для остальных отделов, снова добавляя связанных с ними сотрудников и так далее.
Проблема в следующем: кажется, что каждый отдел создается нормально и добавляется в mainDriver, но все сотрудники добавляются в первый отдел, а оставшийся отдел остается пустым. Это не так, как должно работать, поскольку в каждом отделе есть несколько сотрудников.
Почему он не переходит к следующему отделу при создании экземпляра нового отдела??
Могу ли я получить некоторую помощь, чтобы увидеть, где я могу ошибаться.
это код, который читается в данных.
while (index < numberOfDepartmentsToRead )
{
String depName1 = inFile.nextLine();
String location1 = inFile.nextLine();
String numberOfEmps = inFile.nextLine();
int numberOfEmps1 = Integer.parseInt(numberOfEmps);
Department newDepartment = new Department(depName1 , location1);
while (i < numberOfEmps1 )
{
String fName = inFile.nextLine();
String lName = inFile.nextLine();
String gender = inFile.nextLine();
String address = inFile.nextLine();
String payLevel = inFile.nextLine();
int dPayLevel = Integer.parseInt(payLevel);
Employee employeesFromList = new Employee(randomIDno, fName, lName, gender, dPayLevel);
newDepartment.setAddEmp(employeesFromList, randomIDno);
i++;
}
i = 0;
index++;
MainDriver.setDepartmentToSystem(newDepartment);
}
сотрудник передается этому методу в классе отделов
public static void setAddEmp(Employee theEmp, int idNumber)
{
employeesInThisDepartment.add(theEmp);
employeeMap.put(idNumber, theEmp);
}
отдел добавлен к методу хранения классов mainDriver, который является этим
public static void setDepartmentToSystem(Department theDepartment)
{
allDepartments.add(theDepartment);
}