From 5eded28b16a67fb3ef6bd1cce5526d4dc2de39ab Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 4 Dec 2025 12:14:38 +0100 Subject: Add chapters 18-20 for the java book --- Java-Kompendium/kap18/2/Eingabe.java | 32 +++++++++++++++++++++++++++++++ Java-Kompendium/kap18/2/Main.java | 10 ++++++++++ Java-Kompendium/kap18/2/Mitarbeiter.java | 6 ++++++ Java-Kompendium/kap18/2/Personal.java | 33 ++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 Java-Kompendium/kap18/2/Eingabe.java create mode 100644 Java-Kompendium/kap18/2/Main.java create mode 100644 Java-Kompendium/kap18/2/Mitarbeiter.java create mode 100644 Java-Kompendium/kap18/2/Personal.java (limited to 'Java-Kompendium/kap18/2') diff --git a/Java-Kompendium/kap18/2/Eingabe.java b/Java-Kompendium/kap18/2/Eingabe.java new file mode 100644 index 0000000..4d1673f --- /dev/null +++ b/Java-Kompendium/kap18/2/Eingabe.java @@ -0,0 +1,32 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; +import java.util.ArrayList; + +public class Eingabe extends Thread { + private Personal personal; + + public Eingabe(Personal personal) { + this.personal = personal; + } + + @Override + public void run() { + boolean weiter = true; + + while (weiter) { + synchronized(this.personal) { + try { + var inputStream = new InputStreamReader(System.in); + var bufferedReader = new BufferedReader(inputStream); + + this.personal.eingabe(); + + System.out.println("Weitere Berechnung durchführen (j/n)?"); + weiter = bufferedReader.readLine().equals("j"); + } catch (IOException exception) { + } + } + } + } +} diff --git a/Java-Kompendium/kap18/2/Main.java b/Java-Kompendium/kap18/2/Main.java new file mode 100644 index 0000000..9b53952 --- /dev/null +++ b/Java-Kompendium/kap18/2/Main.java @@ -0,0 +1,10 @@ +public class Main { + public static void main(String[] arguments) { + var personal = new Personal(); + var mitarbeiter1 = new Eingabe(personal); + var mitarbeiter2 = new Eingabe(personal); + + mitarbeiter1.start(); + mitarbeiter2.start(); + } +} diff --git a/Java-Kompendium/kap18/2/Mitarbeiter.java b/Java-Kompendium/kap18/2/Mitarbeiter.java new file mode 100644 index 0000000..2e62875 --- /dev/null +++ b/Java-Kompendium/kap18/2/Mitarbeiter.java @@ -0,0 +1,6 @@ +public class Mitarbeiter { + public int personalnummer; + public String nachname; + public String vorname; + public double gehalt; +} diff --git a/Java-Kompendium/kap18/2/Personal.java b/Java-Kompendium/kap18/2/Personal.java new file mode 100644 index 0000000..9737cdb --- /dev/null +++ b/Java-Kompendium/kap18/2/Personal.java @@ -0,0 +1,33 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; +import java.util.ArrayList; + +public class Personal { + ArrayList personal = new ArrayList<>(); + + public synchronized void eingabe() { + var inputStream = new InputStreamReader(System.in); + var bufferedReader = new BufferedReader(inputStream); + + try { + Mitarbeiter mitarbeiter = new Mitarbeiter(); + + System.out.println("Geben Sie die Personalnummer ein: "); + mitarbeiter.personalnummer = Integer.parseInt(bufferedReader.readLine()); + + System.out.println("Geben Sie den Nachnamen ein: "); + mitarbeiter.nachname = bufferedReader.readLine(); + + System.out.println("Geben Sie den Vornamen ein: "); + mitarbeiter.vorname = bufferedReader.readLine(); + + System.out.println("Geben Sie das Gehalt ein: "); + mitarbeiter.gehalt = Double.parseDouble(bufferedReader.readLine()); + + this.personal.add(mitarbeiter); + } catch (IOException exception) { + System.out.println("Eingabe nicht möglich."); + } + } +} -- cgit v1.2.3