61 lines
2.0 KiB
Java
61 lines
2.0 KiB
Java
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<Person> 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();
|
|
}
|
|
}
|
|
|
|
}
|