erste Aufgabe
parent
345b6ca42e
commit
2d74419583
|
@ -0,0 +1,6 @@
|
|||
Aufgabe 1:
|
||||
Schreiben Sie ein Java-Programm, das diese Informationen 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.
|
||||
Das Programm sollte auch die jährlichen Einkommen für jede Person berechnen und ausgeben.
|
|
@ -0,0 +1,10 @@
|
|||
package Testat1.Aufgabe1;
|
||||
|
||||
public class Employee extends Person {
|
||||
protected String department;
|
||||
|
||||
public Employee (String name, int age, double salary, String department) {
|
||||
super(name, age, salary);
|
||||
this.department = department;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package Testat1.Aufgabe1;
|
||||
|
||||
public class Manager extends Employee{
|
||||
protected double bonus;
|
||||
|
||||
public Manager(String name, int age, double salary, String department, double bonus) {
|
||||
super(name, age, salary, department);
|
||||
this.bonus = bonus;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double calculateYearlyIncome() {
|
||||
return super.calculateYearlyIncome() + bonus;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package Testat1.Aufgabe1;
|
||||
|
||||
public class Person {
|
||||
protected String name;
|
||||
protected int age;
|
||||
protected double salary;
|
||||
protected int id;
|
||||
private static int increment = 1;
|
||||
|
||||
public Person(String name, int age, double salary) {
|
||||
this.name = name;
|
||||
this.age = age;
|
||||
this.salary = salary;
|
||||
this.id = increment++;
|
||||
}
|
||||
|
||||
public double calculateYearlyIncome() {
|
||||
return salary * 12;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
Person
|
||||
Name: John Doe
|
||||
Age: 30
|
||||
Salary: 50000
|
||||
|
||||
Employee
|
||||
Name: Alice Smith
|
||||
Age: 25
|
||||
Salary: 60000
|
||||
Department: Engineering
|
||||
|
||||
Manager
|
||||
Name: Bob Johnson
|
||||
Age: 35
|
||||
Salary: 70000
|
||||
Department: Management
|
||||
Bonus: 10000
|
|
@ -1,5 +0,0 @@
|
|||
package Testat1;
|
||||
|
||||
public class Test {
|
||||
|
||||
}
|
Loading…
Reference in New Issue