diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabe1_IO_Vererbung b/PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabestellung_IO_Vererbung similarity index 79% rename from PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabe1_IO_Vererbung rename to PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabestellung_IO_Vererbung index 05795a9..8e827e1 100644 --- a/PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabe1_IO_Vererbung +++ b/PR2_UIB/Exercises/Testat1/Aufgabe1/Aufgabestellung_IO_Vererbung @@ -1,5 +1,5 @@ Aufgabe 1: -Schreiben Sie ein Java-Programm, das diese Informationen liest, +Schreiben Sie ein Java-Programm, das die Datei "personen" liest, Objekte entsprechend der Rolle der Person erstellt und eine Liste aller Personen ausgibt. Implementieren Sie Klassen für Person, Employee und Manager, die die entsprechenden Attribute und Methoden enthalten. Verwenden Sie Vererbung, um die Beziehung zwischen den Klassen darzustellen. diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Aufgabestellung_IO_Vererbung b/PR2_UIB/Exercises/Testat1/Aufgabe2/Aufgabestellung_IO_Vererbung new file mode 100644 index 0000000..2947ab8 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Aufgabestellung_IO_Vererbung @@ -0,0 +1,12 @@ +Aufgabe 2: +Schreiben Sie ein Java-Programm, das die Datei "people" liest dabei soll nur jede zweite Zeile eingelesen wird, +Objekte entsprechend der Rolle der Person erstellt und eine Liste aller Personen ausgibt. +Implementieren Sie Klassen und die entsprechenden Attribute und Methoden. +Verwenden Sie Vererbung, um die Beziehung zwischen den Klassen darzustellen. +Das Programm sollte auch die jährlichen Einkommen für jede Person berechnen und ausgeben. +Implementieren Sie eine Methode, die das Durchschnittsalter für "people" berechnet und zurückgibt. +Schreibe ein Hauptprogramm, das eine Liste von Zahlen aus einer Binärdatei src/main/resources/years.dat liest, +die Zahlen enthält. +Für jede Zahl X aus der Datei gib die Mitarbeiter aus, die X oder mehr Jahre Betriebszugehörigkeit haben, aber weniger als X+1. + +Tipp: Verwende java.time.Period.between, um die Differenz zwischen den Daten zu berechnen. \ No newline at end of file diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Employee.java b/PR2_UIB/Exercises/Testat1/Aufgabe2/Employee.java new file mode 100644 index 0000000..0070f97 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Employee.java @@ -0,0 +1,17 @@ +package Testat1.Aufgabe2; + +import java.time.LocalDate; + +public class Employee extends Person{ + protected double salary; + + public Employee(LocalDate dateOfEm, String name, int age, double size, double salary) { + super(dateOfEm, name, age, size); + this.salary = salary; + } + + @Override + public String toString() { + return super.toString() + ", salary= " + salary; + } +} diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Main.java b/PR2_UIB/Exercises/Testat1/Aufgabe2/Main.java new file mode 100644 index 0000000..ef96a1b --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Main.java @@ -0,0 +1,5 @@ +package Testat1.Aufgabe2; + +public class Main { + +} diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Person.java b/PR2_UIB/Exercises/Testat1/Aufgabe2/Person.java new file mode 100644 index 0000000..1595942 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Person.java @@ -0,0 +1,26 @@ +package Testat1.Aufgabe2; + +import java.time.LocalDate; + +public class Person { + protected LocalDate dateOfEm; + protected String name; + protected int age; + protected double size; + + public Person(LocalDate dateOfEm, String name, int age, double size) { + this.dateOfEm = dateOfEm; + this.name = name; + this.age = age; + this.size = size; + } + + @Override + public String toString() { + return "Person: dateOfEm=" + dateOfEm + ", name=" + name + ", age=" + age + ", size=" + size; + } + public int getAge() { + return age; + } + +} diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Student.java b/PR2_UIB/Exercises/Testat1/Aufgabe2/Student.java new file mode 100644 index 0000000..0739058 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Student.java @@ -0,0 +1,15 @@ +package Testat1.Aufgabe2; + +import java.time.LocalDate; + +public class Student extends Person{ + protected String fach; + + public Student(LocalDate dateOfEm, String name, int age, double size, String fach) { + super(dateOfEm, name, age, size); + this.fach = fach; + } + public String toString() { + return super.toString() + ", fach = " + fach; + } +} diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/Teacher.java b/PR2_UIB/Exercises/Testat1/Aufgabe2/Teacher.java new file mode 100644 index 0000000..7fe9353 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/Teacher.java @@ -0,0 +1,15 @@ +package Testat1.Aufgabe2; + +import java.time.LocalDate; + +public class Teacher extends Person{ + protected String fach; + + public Teacher(LocalDate dateOfEm, String name, int age, double size, String fach) { + super(dateOfEm, name, age, size); + this.fach = fach; + } + public String toString() { + return super.toString() + ", fach" + fach; + } +} diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/people b/PR2_UIB/Exercises/Testat1/Aufgabe2/people new file mode 100644 index 0000000..6adfbfb --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/people @@ -0,0 +1,7 @@ +Person 15.05.2017 Max 25 1.75 +xxxxxxxxxxxxxxxxxxxx +Student 12.09.2020 Lisa 20 1.60 Physics +xxxxxxxxxxxxxxxxxxxx +Employee 04.04.2010 John 30 1.80 50000 +yyyyyyyyyyyyyyyyyyyy +Teacher 08.03.2009 Emma 35 1,70 Math \ No newline at end of file diff --git a/PR2_UIB/Exercises/Testat1/Aufgabe2/years.dat b/PR2_UIB/Exercises/Testat1/Aufgabe2/years.dat new file mode 100644 index 0000000..7abb399 --- /dev/null +++ b/PR2_UIB/Exercises/Testat1/Aufgabe2/years.dat @@ -0,0 +1,4 @@ +3 +4.5 +14.7 +2 \ No newline at end of file