diff --git a/Dateien/.DS_Store b/Dateien/.DS_Store
new file mode 100644
index 0000000..8b26fbb
Binary files /dev/null and b/Dateien/.DS_Store differ
diff --git a/Dateien/.classpath b/Dateien/.classpath
new file mode 100644
index 0000000..6922345
--- /dev/null
+++ b/Dateien/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Dateien/.project b/Dateien/.project
new file mode 100644
index 0000000..bd56c3d
--- /dev/null
+++ b/Dateien/.project
@@ -0,0 +1,17 @@
+
+
+ Dateien
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/Dateien/Console.java b/Dateien/Console.java
new file mode 100644
index 0000000..dd348ab
--- /dev/null
+++ b/Dateien/Console.java
@@ -0,0 +1,21 @@
+import java.util.Scanner;
+
+public class Console {
+ Scanner scan = new Scanner(System.in);
+
+ public String readString() {
+ String eingabeString = scan.nextLine();
+ return eingabeString;
+ }
+ public char [] readCharArray() {
+ String text = scan.nextLine();
+ return text.toCharArray();
+ }
+ public boolean readBoolean() {
+ return scan.nextBoolean();
+
+ }
+
+
+
+}
diff --git a/Dateien/DemoConsole.java b/Dateien/DemoConsole.java
new file mode 100644
index 0000000..dab503d
--- /dev/null
+++ b/Dateien/DemoConsole.java
@@ -0,0 +1,19 @@
+public class DemoConsole {
+ public static void main(String[] args) throws Exception {
+ Console console = new Console();
+ 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/Dateien/Indexverwaltung/.DS_Store b/Dateien/Indexverwaltung/.DS_Store
new file mode 100644
index 0000000..82d8914
Binary files /dev/null and b/Dateien/Indexverwaltung/.DS_Store differ
diff --git a/Dateien/Indexverwaltung/.classpath b/Dateien/Indexverwaltung/.classpath
new file mode 100644
index 0000000..f029363
--- /dev/null
+++ b/Dateien/Indexverwaltung/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Dateien/Indexverwaltung/.project b/Dateien/Indexverwaltung/.project
new file mode 100644
index 0000000..8f9aea7
--- /dev/null
+++ b/Dateien/Indexverwaltung/.project
@@ -0,0 +1,17 @@
+
+
+ Indexverwaltung
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/Dateien/Indexverwaltung/.settings/org.eclipse.core.resources.prefs b/Dateien/Indexverwaltung/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/Dateien/Indexverwaltung/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Dateien/Indexverwaltung/.settings/org.eclipse.jdt.core.prefs b/Dateien/Indexverwaltung/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..062ed70
--- /dev/null
+++ b/Dateien/Indexverwaltung/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=19
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=19
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=19
diff --git a/Dateien/Indexverwaltung/bin/.gitignore b/Dateien/Indexverwaltung/bin/.gitignore
new file mode 100644
index 0000000..c7979b8
--- /dev/null
+++ b/Dateien/Indexverwaltung/bin/.gitignore
@@ -0,0 +1,11 @@
+/.DS_Store
+/.classpath
+/.project
+/Console.class
+/Datei.class
+/DemoConsole.class
+/Index.class
+/IndexUI.class
+/Indexverwaltung/
+/Zaehler.png
+/ZaehlerUI.class
diff --git a/Dateien/Indexverwaltung/src/Datei.java b/Dateien/Indexverwaltung/src/Datei.java
new file mode 100644
index 0000000..5e85194
--- /dev/null
+++ b/Dateien/Indexverwaltung/src/Datei.java
@@ -0,0 +1,4 @@
+
+public class Datei {
+
+}
diff --git a/Dateien/Indexverwaltung/src/Index.java b/Dateien/Indexverwaltung/src/Index.java
new file mode 100644
index 0000000..c660977
--- /dev/null
+++ b/Dateien/Indexverwaltung/src/Index.java
@@ -0,0 +1,93 @@
+import java.util.*;
+import java.io.*;
+
+public class Index {
+ // Attribute
+ private final int MAX = 10;
+ private String dateiname = "Indexdatei.txt";
+ private int indextabelle[]; // 0 .. MAX-1
+ private RandomAccessFile eineIndexDatei;
+
+ // Konstruktor
+ public Index()
+ {
+ indextabelle = new int[MAX];
+ // Initialisierung der indextabelle
+ for(int i = 0; i < MAX; i++) indextabelle[i] = -1;
+ // Kein Datensatz zu Schluessel vorhanden
+ }
+
+ // Methoden
+ public void erzeugeEintrag(int schluessel, int index) throws IOException
+ {
+ /** Speichert zu einen Schluessel den zugehoerigen
+ * Datensatz-Index in der indextabelle
+ */
+ if(schluessel < MAX)
+ indextabelle[schluessel] = index;
+ // Aktualisieren der Indexdatei,
+ // d. h. Abspeichern der Datei
+ aktualisiereIndexDatei(schluessel);
+ }
+
+ public int gibIndexZuSchluessel(int schluessel)
+ {
+ // Gibt zu dem Schluessel den gefundenen
+ // Datensatz-Index zurueck
+ if(schluessel < MAX)
+ return indextabelle[schluessel];
+ // oder -1, wenn Schluessel zu gross ist
+ else
+ return -1;
+ }
+
+ public void ladeIndexDatei() throws IOException
+ {
+ /** Liest die Indextabelle vollstaendig aus einer Datei
+ * Dies geschieht nur beim Start des Programms
+ */
+ eineIndexDatei = new RandomAccessFile(dateiname, "r");
+ int index;
+ for(int schluessel = 0; schluessel < MAX; schluessel++)
+ {
+ index = eineIndexDatei.readInt();
+ indextabelle[schluessel] = index;
+ }
+ eineIndexDatei.close();
+ }
+
+ public void speichereIndexDatei() throws IOException
+ {
+ /** Speichert die Indextabelle vollstaendig in einer Datei
+ * Dies geschlieht beim beenden des Programs
+ */
+ eineIndexDatei = new RandomAccessFile(dateiname, "rw");
+ for(int schluessel = 0; schluessel < MAX; schluessel++)
+ eineIndexDatei.writeInt(indextabelle[schluessel]);
+ eineIndexDatei.close();
+ }
+
+ private void aktualisiereIndexDatei(int schluessel) throws IOException
+ {
+ /** Aktualisiert die indextabelle in der Indexdatei
+ * Dies geschliet beim Hinzufuegen eines neuen
+ * Indexes oder Aendern eines alten Indexes
+ */
+ eineIndexDatei = new RandomAccessFile(dateiname, "rw");
+ // eine int-Zahl belegt 4 Bytes
+ eineIndexDatei.seek((long)(schluessel * 4));
+ eineIndexDatei.writeInt(indextabelle[schluessel]);
+ eineIndexDatei.close();
+ }
+
+ // Zum Testen
+ public void gibIndextabelleAus()
+ {
+ int schluessel = 0;
+ for(int element : indextabelle)
+ {
+ System.out.println(schluessel + " " + element);
+ schluessel++;
+ }
+ }
+}
diff --git a/Dateien/Indexverwaltung/src/IndexUI.java b/Dateien/Indexverwaltung/src/IndexUI.java
new file mode 100644
index 0000000..fa116a2
--- /dev/null
+++ b/Dateien/Indexverwaltung/src/IndexUI.java
@@ -0,0 +1,9 @@
+
+public class IndexUI {
+
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/Dateien/Zaehler.png b/Dateien/Zaehler.png
new file mode 100644
index 0000000..159cef0
Binary files /dev/null and b/Dateien/Zaehler.png differ
diff --git a/Dateien/ZaehlerUI.java b/Dateien/ZaehlerUI.java
new file mode 100644
index 0000000..d2a0527
--- /dev/null
+++ b/Dateien/ZaehlerUI.java
@@ -0,0 +1,49 @@
+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/übung2/.project b/übung2/.project
index bd5f8fb..6919c55 100644
--- a/übung2/.project
+++ b/übung2/.project
@@ -1,6 +1,6 @@
- übung2
+ Mein_git