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