From 863b4d9a717acefe0d57bf0e0db3f28a40754b6f Mon Sep 17 00:00:00 2001 From: "farzad.h" Date: Mon, 8 Apr 2024 12:25:16 +0200 Subject: [PATCH] Zaehleraufgabe erledigt --- .../src/ZaehlerAufgabe/Unterzaehler.java | 23 ++++++++++ .../src/ZaehlerAufgabe/Verbraucher.java | 17 +++++++ Pr2_Uebung2/src/ZaehlerAufgabe/Zaehler.java | 35 ++++++++++++++ Pr2_Uebung2/src/ZaehlerAufgabe/ZaehlerUI.java | 46 +++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 Pr2_Uebung2/src/ZaehlerAufgabe/Unterzaehler.java create mode 100644 Pr2_Uebung2/src/ZaehlerAufgabe/Verbraucher.java create mode 100644 Pr2_Uebung2/src/ZaehlerAufgabe/Zaehler.java create mode 100644 Pr2_Uebung2/src/ZaehlerAufgabe/ZaehlerUI.java diff --git a/Pr2_Uebung2/src/ZaehlerAufgabe/Unterzaehler.java b/Pr2_Uebung2/src/ZaehlerAufgabe/Unterzaehler.java new file mode 100644 index 0000000..ebfe58a --- /dev/null +++ b/Pr2_Uebung2/src/ZaehlerAufgabe/Unterzaehler.java @@ -0,0 +1,23 @@ +package ZaehlerAufgabe; + +public class Unterzaehler extends Zaehler implements Cloneable { + + private int unterzaehlerstand; + + public Unterzaehler(String zaehlerart, Verbraucher einVerbraucher, int zaehlerstand) { + super(zaehlerart, einVerbraucher, 0); + unterzaehlerstand = zaehlerstand; + + } + + public int getUnterzaehlerstand() { + + return unterzaehlerstand; + } + + public Unterzaehler clone() throws CloneNotSupportedException { + + return (Unterzaehler) super.clone(); + } + +} diff --git a/Pr2_Uebung2/src/ZaehlerAufgabe/Verbraucher.java b/Pr2_Uebung2/src/ZaehlerAufgabe/Verbraucher.java new file mode 100644 index 0000000..ebcd363 --- /dev/null +++ b/Pr2_Uebung2/src/ZaehlerAufgabe/Verbraucher.java @@ -0,0 +1,17 @@ +package ZaehlerAufgabe; + +public class Verbraucher { + + private String name; + + public Verbraucher(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + + +} diff --git a/Pr2_Uebung2/src/ZaehlerAufgabe/Zaehler.java b/Pr2_Uebung2/src/ZaehlerAufgabe/Zaehler.java new file mode 100644 index 0000000..cd516cf --- /dev/null +++ b/Pr2_Uebung2/src/ZaehlerAufgabe/Zaehler.java @@ -0,0 +1,35 @@ +package ZaehlerAufgabe; + + +public class Zaehler extends Object implements Cloneable { + + private int zaehlerstand; + private String zaehlerart; + private Verbraucher einVerbraucher; + + public Zaehler(String zaehlerart, Verbraucher einVerbraucher, int zaehlerstand) { + + this.zaehlerart = zaehlerart; + this.zaehlerstand = zaehlerstand; + this.einVerbraucher = einVerbraucher; + + } + + public Verbraucher getMeinVerbraucher() { + + return einVerbraucher; + } + + public int getZaehlerstand() { + + return zaehlerstand; + } + + public Zaehler clone() throws CloneNotSupportedException { + + return (Zaehler) super.clone(); + } + + + +} diff --git a/Pr2_Uebung2/src/ZaehlerAufgabe/ZaehlerUI.java b/Pr2_Uebung2/src/ZaehlerAufgabe/ZaehlerUI.java new file mode 100644 index 0000000..dbf37b4 --- /dev/null +++ b/Pr2_Uebung2/src/ZaehlerAufgabe/ZaehlerUI.java @@ -0,0 +1,46 @@ +package ZaehlerAufgabe; + + +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()); + } +}