From 24ee1c110d7a87e2194aaa4ce117ed006b647568 Mon Sep 17 00:00:00 2001 From: asus Date: Mon, 8 Apr 2024 12:59:48 +0200 Subject: [PATCH] test2 --- PR2_UIB/.classpath | 1 + PR2_UIB/src/DemoConsole.java | 20 +++++ PR2_UIB/src/Uebung2/Ag2.java | 74 +++++++++++++++++++ PR2_UIB/src/Uebung2/Uebung2_Ag2.java | 25 +++++++ PR2_UIB/src/Uebung2/Unterzaehler.java | 20 +++++ PR2_UIB/src/Uebung2/Verbraucher.java | 20 +++++ PR2_UIB/src/Uebung2/Zaehler.java | 35 +++++++++ PR2_UIB/src/Uebung2/ZaehlerUI.java | 51 +++++++++++++ PR2_UIB/src/Uebung_1.java | 11 --- .../src/verwaltung/kunden/DemoKonsole.java | 10 +++ 10 files changed, 256 insertions(+), 11 deletions(-) create mode 100644 PR2_UIB/src/DemoConsole.java create mode 100644 PR2_UIB/src/Uebung2/Ag2.java create mode 100644 PR2_UIB/src/Uebung2/Uebung2_Ag2.java create mode 100644 PR2_UIB/src/Uebung2/Unterzaehler.java create mode 100644 PR2_UIB/src/Uebung2/Verbraucher.java create mode 100644 PR2_UIB/src/Uebung2/Zaehler.java create mode 100644 PR2_UIB/src/Uebung2/ZaehlerUI.java delete mode 100644 PR2_UIB/src/Uebung_1.java create mode 100644 PR2_UIB/src/verwaltung/kunden/DemoKonsole.java diff --git a/PR2_UIB/.classpath b/PR2_UIB/.classpath index c8b8bcc..4a4692a 100644 --- a/PR2_UIB/.classpath +++ b/PR2_UIB/.classpath @@ -6,5 +6,6 @@ + diff --git a/PR2_UIB/src/DemoConsole.java b/PR2_UIB/src/DemoConsole.java new file mode 100644 index 0000000..d0b614d --- /dev/null +++ b/PR2_UIB/src/DemoConsole.java @@ -0,0 +1,20 @@ +import java.io.*; + +public class DemoConsole { + public static void main(String[] args) throws Exception { + System.out.println("Text eingeben: "); + String text = Console.readString(); + System.out.println("Gelesener Text: " + text); + + System.out.println("Text eingeben: "); + char [] ca = Console.readCharArray(); + System.out.println("Gelesenes char-Feld: "); + for(char celement: ca) + System.out.print(celement); + System.out.println(); + + System.out.println("Boolean eingeben: "); + boolean b = Console.readBoolean(); + System.out.println("Gelesener Wert: " + b); + } +} diff --git a/PR2_UIB/src/Uebung2/Ag2.java b/PR2_UIB/src/Uebung2/Ag2.java new file mode 100644 index 0000000..f924d61 --- /dev/null +++ b/PR2_UIB/src/Uebung2/Ag2.java @@ -0,0 +1,74 @@ +package Uebung2; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.After; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Test; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.PrintStream; +import java.util.Scanner; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class Ag2_Junit { + + private final InputStream systemIn = System.in; + private ByteArrayInputStream testIn; + private Scanner scanner; + + @Before + public void setUpInput() { + scanner = new Scanner(System.in); + System.setIn(testIn); + } + + @After + public void restoreSystemInputOutput() { + System.setIn(systemIn); + } + + @Test + public void testTextInput() { + String input = "Test Text"; + testIn = new ByteArrayInputStream(input.getBytes()); + System.setIn(testIn); + + assertEquals("Test Text", scanner.nextLine()); + } + + @Test + public void testCharInput() { + String input = "Char Input"; + testIn = new ByteArrayInputStream(input.getBytes()); + System.setIn(testIn); + + char[] expectedCharArray = input.toCharArray(); + assertArrayEquals(expectedCharArray, scanner.nextLine().toCharArray()); + } + + @Test + public void testBooleanInput() { + String input = "true"; + testIn = new ByteArrayInputStream(input.getBytes()); + System.setIn(testIn); + + assertTrue(scanner.nextBoolean()); + } + + @Test + public void testInvalidBooleanInput() { + String input = "not a boolean"; + testIn = new ByteArrayInputStream(input.getBytes()); + System.setIn(testIn); + + assertFalse(scanner.nextBoolean()); + } + } \ No newline at end of file diff --git a/PR2_UIB/src/Uebung2/Uebung2_Ag2.java b/PR2_UIB/src/Uebung2/Uebung2_Ag2.java new file mode 100644 index 0000000..763034e --- /dev/null +++ b/PR2_UIB/src/Uebung2/Uebung2_Ag2.java @@ -0,0 +1,25 @@ +package Uebung2; +import java.io.Console; +import java.util.Scanner; + +public class Uebung2_Ag2 { + public static void main(String [] args) { + + Scanner input = new Scanner (System.in); + + System.out.println("Text eingeben: "); + String text = input.nextLine(); + System.out.println("Gelesener text " + text); + + System.out.println("Text eingeben: "); + char [] ca = input.next().toCharArray(); + System.out.println("Gelesenes char-Feld: "); + for(char celement: ca) + System.out.print(celement); + System.out.println(); + + System.out.println("Boolean eingeben: "); + boolean b = input.nextBoolean(); + System.out.println("Gelesener Wert: " + b); + } +} diff --git a/PR2_UIB/src/Uebung2/Unterzaehler.java b/PR2_UIB/src/Uebung2/Unterzaehler.java new file mode 100644 index 0000000..1c64935 --- /dev/null +++ b/PR2_UIB/src/Uebung2/Unterzaehler.java @@ -0,0 +1,20 @@ +package Uebung2; + +public class Unterzaehler extends Zaehler { + + private int unterzaehlerStand; + + public Unterzaehler(String art, Verbraucher meinVerbraucher, int zaehlerStand) { + super(art, meinVerbraucher, zaehlerStand); + this.unterzaehlerStand = unterzaehlerStand; + } + + protected Unterzaehler clone() throws CloneNotSupportedException{ + return (Unterzaehler) super.clone(); + + } + + public int getUnterzaehlerstand() { + return unterzaehlerStand; + } +} diff --git a/PR2_UIB/src/Uebung2/Verbraucher.java b/PR2_UIB/src/Uebung2/Verbraucher.java new file mode 100644 index 0000000..2de768b --- /dev/null +++ b/PR2_UIB/src/Uebung2/Verbraucher.java @@ -0,0 +1,20 @@ +package Uebung2; + +public class Verbraucher { + + private String name; + + public Verbraucher (String name2) { + this.name = name2; + + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/PR2_UIB/src/Uebung2/Zaehler.java b/PR2_UIB/src/Uebung2/Zaehler.java new file mode 100644 index 0000000..d9a1273 --- /dev/null +++ b/PR2_UIB/src/Uebung2/Zaehler.java @@ -0,0 +1,35 @@ +package Uebung2; + +public class Zaehler extends Object implements Cloneable { + + private String art; + private int zaehlerStand; + private Verbraucher meinVerbraucher; + + public Zaehler(String art, Verbraucher meinVerbraucher, int zaehlerStand) { + this.meinVerbraucher = meinVerbraucher; + this.art = art; + this.zaehlerStand = zaehlerStand; + } + + public int getZaehlerstand() { + return zaehlerStand; + } + + public void setZaehlerstand(int zaehlerStand) { + this.zaehlerStand = zaehlerStand; + } + + @Override + protected Zaehler clone() throws CloneNotSupportedException { + + return (Zaehler) super.clone(); + } + + public Verbraucher getMeinVerbraucher() { + return meinVerbraucher; + } + + + +} diff --git a/PR2_UIB/src/Uebung2/ZaehlerUI.java b/PR2_UIB/src/Uebung2/ZaehlerUI.java new file mode 100644 index 0000000..eb973b6 --- /dev/null +++ b/PR2_UIB/src/Uebung2/ZaehlerUI.java @@ -0,0 +1,51 @@ +package Uebung2; + +public class ZaehlerUI { + public static void main(String[] args) throws Exception { + Zaehler einZaehler, klonZaehler = null; + + Verbraucher einVerbraucher = new Verbraucher("Schulz"); + einZaehler = new Zaehler("Elektro", einVerbraucher, 123); + + try + { + klonZaehler = einZaehler.clone(); + } + catch(CloneNotSupportedException e) + { + System.out.println("Fehler"); + } + + System.out.println("Zählerstand =" + einZaehler.getZaehlerstand() + + " gehört zu Verbraucher " + einZaehler.getMeinVerbraucher().getName()); + + System.out.println("Geklonter Zähler Zählerstand = " + klonZaehler.getZaehlerstand() + + " gehört zu Verbraucher " + klonZaehler.getMeinVerbraucher().getName()); + + if(einZaehler.getMeinVerbraucher() == klonZaehler.getMeinVerbraucher()) + System.out.println("Verbraucher identisch"); + else + System.out.println("Verbraucher nicht identisch"); + + Unterzaehler nochEinZaehler = new Unterzaehler("Gas", einVerbraucher, 500); + + System.out.println("Zählerstand = " + nochEinZaehler.getZaehlerstand() + + " Unterzählerstand: " + nochEinZaehler.getUnterzaehlerstand() + + " gehört zu Verbraucher " + nochEinZaehler.getMeinVerbraucher().getName()); + + Unterzaehler klonUnterzaehler = null; + + try + { + klonUnterzaehler = nochEinZaehler.clone(); + } + catch(CloneNotSupportedException e) + { + System.out.println("Fehler"); + } + + System.out.println("Geklonter Unterzähler: Zählerstand = " + klonUnterzaehler.getZaehlerstand() + + " Unterzählerstand: " + klonUnterzaehler.getUnterzaehlerstand() + + " gehört zu Verbraucher " + klonUnterzaehler.getMeinVerbraucher().getName()); + } +} diff --git a/PR2_UIB/src/Uebung_1.java b/PR2_UIB/src/Uebung_1.java deleted file mode 100644 index b5d16e9..0000000 --- a/PR2_UIB/src/Uebung_1.java +++ /dev/null @@ -1,11 +0,0 @@ - -public class Uebung_1 { - - public static void main(String[] args) { - int blz; - System.out.println(blz); - - } - - -} diff --git a/PR2_UIB/src/verwaltung/kunden/DemoKonsole.java b/PR2_UIB/src/verwaltung/kunden/DemoKonsole.java new file mode 100644 index 0000000..b8315f7 --- /dev/null +++ b/PR2_UIB/src/verwaltung/kunden/DemoKonsole.java @@ -0,0 +1,10 @@ +package verwaltung.kunden; + +public class DemoKonsole { + + public static void main(String[] args) { + // TODO Auto-generated method stub + + } + +}