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/1/Eingabe.java | 40 ++++++++++++++++++++++++++++++++ Java-Kompendium/kap18/1/Main.java | 12 ++++++++++ Java-Kompendium/kap18/1/Mitarbeiter.java | 6 +++++ Java-Kompendium/kap18/1/Schlafen.java | 24 +++++++++++++++++++ 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 ++++++++++++++++++++++++++ 8 files changed, 163 insertions(+) create mode 100644 Java-Kompendium/kap18/1/Eingabe.java create mode 100644 Java-Kompendium/kap18/1/Main.java create mode 100644 Java-Kompendium/kap18/1/Mitarbeiter.java create mode 100644 Java-Kompendium/kap18/1/Schlafen.java 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') diff --git a/Java-Kompendium/kap18/1/Eingabe.java b/Java-Kompendium/kap18/1/Eingabe.java new file mode 100644 index 0000000..ef40898 --- /dev/null +++ b/Java-Kompendium/kap18/1/Eingabe.java @@ -0,0 +1,40 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; +import java.util.ArrayList; + +public class Eingabe extends Thread { + @Override + public void run() { + ArrayList personal = new ArrayList<>(); + boolean weiter = true; + + while (weiter) { + 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()); + + personal.add(mitarbeiter); + + System.out.println("Weitere Berechnung durchführen (j/n)?"); + weiter = bufferedReader.readLine().equals("j"); + } catch (IOException exception) { + System.out.println("Eingabe nicht möglich."); + } + } + } +} diff --git a/Java-Kompendium/kap18/1/Main.java b/Java-Kompendium/kap18/1/Main.java new file mode 100644 index 0000000..ba8acab --- /dev/null +++ b/Java-Kompendium/kap18/1/Main.java @@ -0,0 +1,12 @@ +public class Main { + public static void main(String[] arguments) { + var eingabe = new Eingabe(); + var schlafen = new Schlafen(); + + eingabe.setPriority(10); + schlafen.setPriority(1); + + eingabe.start(); + schlafen.start(); + } +} diff --git a/Java-Kompendium/kap18/1/Mitarbeiter.java b/Java-Kompendium/kap18/1/Mitarbeiter.java new file mode 100644 index 0000000..2e62875 --- /dev/null +++ b/Java-Kompendium/kap18/1/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/1/Schlafen.java b/Java-Kompendium/kap18/1/Schlafen.java new file mode 100644 index 0000000..3a39230 --- /dev/null +++ b/Java-Kompendium/kap18/1/Schlafen.java @@ -0,0 +1,24 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; + +public class Schlafen extends Thread { + @Override + public void run() { + var inputStream = new InputStreamReader(System.in); + var bufferedReader = new BufferedReader(inputStream); + int seconds; + + System.out.println("Wieviele Sekunden soll ich warten?"); + try { + var input = bufferedReader.readLine(); + seconds = Integer.parseInt(input); + } catch (IOException exception) { + seconds = 0; + } + try { + Thread.sleep(seconds * 1000); + } catch (InterruptedException exception) { + } + } +} 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