PR2/PR2_UIB/Exercises/Testat1/Aufgabe1/Main.java

61 lines
2.0 KiB
Java
Raw Normal View History

2024-04-19 20:54:22 +02:00
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();
}
}
}