Hai semuanya sekali lagi terima kasih telah meluangkan waktu untuk melihat masalah saya.
Saya mencoba membuat program yang melacak karyawan dan berbagai departemen tempat mereka bekerja.
Program pertama-tama membaca dari file teks semua data awal untuk menjalankan program. Program kemudian memiliki perulangan while dalam perulangan while. Perulangan pertama akan membaca rincian departemen dan kemudian membuat departemen
di loop while berikutnya (dalam) ia membaca semua karyawan yang terkait dengan departemen ini, kemudian setelah membaca detail karyawan tersebut membuat karyawan tersebut dan menambahkannya ke departemen yang dibuat sebelumnya untuk mengatakan ini adalah departemen tempat saya bekerja.
setelah menambahkan semua karyawan ke departemen, ia kemudian keluar dari loop dalam dan mengirimkan departemen dengan karyawan di dalamnya ke mainDriver untuk disimpan. Hal ini dilakukan untuk departemen yang tersisa lagi menambahkan karyawan terkait dan seterusnya.
Masalahnya adalah: tampaknya setiap departemen baik-baik saja dan menambahkannya ke driver utama, tetapi semua karyawan ditambahkan ke departemen pertama dan departemen lainnya dibiarkan kosong. Ini bukan cara yang seharusnya karena ada beberapa karyawan di setiap departemen.
Mengapa tidak berpindah ke departemen berikutnya saat Departemen baru dibuat??
Bisakah saya mendapatkan bantuan untuk melihat di mana kesalahan saya.
ini adalah kode yang terbaca di data.
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);
}
karyawan tersebut diteruskan ke metode ini di kelas departemen
public static void setAddEmp(Employee theEmp, int idNumber)
{
employeesInThisDepartment.add(theEmp);
employeeMap.put(idNumber, theEmp);
}
departemen ditambahkan ke metode penyimpanan kelas mainDriver yaitu ini
public static void setDepartmentToSystem(Department theDepartment)
{
allDepartments.add(theDepartment);
}