私は、プログラムが従業員に関する特定の情報 (ID、姓名、利用可能な日付、年収など) をテキスト ファイルから読み取るプロジェクトを行っていhashCode
ますequals
。すべてのゲッター、セッター、変数宣言など。
私が抱えている問題は、メインクラスにあります。これが私のコードです:
public static void main(String[] args) throws FileNotFoundException {
ArrayList<Employee> db = new ArrayList<>();
try {
Scanner fin = new Scanner(new File("employeeDB.txt"));
} catch (FileNotFoundException e) {
System.out.println(e);
}
Scanner fin = new Scanner(new File("employeeDB.txt"));
while (fin.hasNextLine()) {
String line = fin.nextLine();
String[] fields = line.split(",", 0);
Employee emp = new Employee(Integer.parseInt(fields[0]), fields[1],
fields[2], fields[3], fields[4], Integer.parseInt(fields[5]),
Boolean.parseBoolean(fields[6]), fields[7], fields[8],
Double.parseDouble(fields[9]), fields[10]);
db.add(emp);
}
listAllEmployee(db);
System.out.println("");
listAllEmployeeEidAndName(db);
}
public static void listAllEmployee(ArrayList<Employee> list) {
System.out.println("List all employees:");
for (Employee emp : list) {
System.out.println(emp);
}
}
public static void listAllEmployeeEidAndName(ArrayList<Employee> list) {
System.out.println("List all empoyee eid and name:");
for (Employee emp : list) {
System.out.println("Employee{eid=" + emp.getEid()
+ ", firstName=" + emp.getFirstName()
+ ", lastName=" + emp.getLastName());
}
}
public static void listEmployeeByField(ArrayList<Employee> list,
int field) {
}
その最後の方法を行う方法がわかりません。私が持っていた唯一のアイデアは、メソッドに対して行ったのと同様の方法で巨大な switch ステートメントを作成することでしたlistAllEmployeeEidAndName
が、それは非現実的です。
listEmployeeByField
フィールドを削除して、メソッドが呼び出されたときに指定されたフィールドのみを表示する方法はありますか?