package Testat1.Aufgabe1; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; public class Main { public static void main (String[] args) { ArrayList people = new ArrayList<>(); try (BufferedReader reader = new BufferedReader(new FileReader("Exercises/Testat1/Aufgabe1/personen"))){ String line; while((line = reader.readLine()) != null) { if(!line.isEmpty()) { String key = line.toLowerCase(); switch (key) { case "person": { String name = reader.readLine().split(": ")[1]; int age = Integer.parseInt(reader.readLine().split(": ")[1]); double salary = Double.parseDouble(reader.readLine().split(": ")[1]); people.add(new Person(name, age, salary)); break; } case "employee": { String name = reader.readLine().split(": ")[1]; int age = Integer.parseInt(reader.readLine().split(": ")[1]); double salary = Double.parseDouble(reader.readLine().split(": ")[1]); String department = reader.readLine().split(": ")[1]; people.add(new Employee(name, age, salary, department)); break; } case "manager":{ String name = reader.readLine().split(": ")[1]; int age = Integer.parseInt(reader.readLine().split(": ")[1]); double salary = Double.parseDouble(reader.readLine().split(": ")[1]); String department = reader.readLine().split(": ")[1]; double bonus = Double.parseDouble(reader.readLine().split(": ")[1]); people.add(new Manager(name, age, salary, department, bonus)); break; } default: throw new IllegalArgumentException("Unexpected value: " + key); } } } } catch (Exception e) { e.printStackTrace(); } for (Person person : people) { System.out.println("Name: " + person.name); System.out.println("Age: " + person.age); System.out.println("Salary: " + person.salary); System.out.println("Yearly Income: " + person.calculateYearlyIncome()); System.out.println(); } } }