summaryrefslogtreecommitdiff
path: root/Java-Kompendium/kap18
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-12-04 12:14:38 +0100
committerEugen Wissner <belka@caraus.de>2025-12-04 13:57:53 +0100
commit5eded28b16a67fb3ef6bd1cce5526d4dc2de39ab (patch)
tree3019d5be499c466b952b2f04a523d09613521cae /Java-Kompendium/kap18
parent2da137aea85e4aab48d5df5389da609720f2acb9 (diff)
downloadbook-exercises-5eded28b16a67fb3ef6bd1cce5526d4dc2de39ab.tar.gz
Add chapters 18-20 for the java book
Diffstat (limited to 'Java-Kompendium/kap18')
-rw-r--r--Java-Kompendium/kap18/1/Eingabe.java40
-rw-r--r--Java-Kompendium/kap18/1/Main.java12
-rw-r--r--Java-Kompendium/kap18/1/Mitarbeiter.java6
-rw-r--r--Java-Kompendium/kap18/1/Schlafen.java24
-rw-r--r--Java-Kompendium/kap18/2/Eingabe.java32
-rw-r--r--Java-Kompendium/kap18/2/Main.java10
-rw-r--r--Java-Kompendium/kap18/2/Mitarbeiter.java6
-rw-r--r--Java-Kompendium/kap18/2/Personal.java33
8 files changed, 163 insertions, 0 deletions
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<Mitarbeiter> 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<Mitarbeiter> 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.");
+ }
+ }
+}