diff --git a/src/main/java/projekt/enigma/model/Codebuch.java b/src/main/java/projekt/enigma/model/Codebuch.java index aacb58c97a1dfad19a89cd97cb8fe963aecf5371..9ded525e6d41617d76f148556b5c8f278bb88a63 100644 --- a/src/main/java/projekt/enigma/model/Codebuch.java +++ b/src/main/java/projekt/enigma/model/Codebuch.java @@ -7,7 +7,7 @@ import java.time.ZoneId; /** * Das Codebuch war eines der essentiel wichtigen Sachen bei der Enigma. - * Jeder Enigma gehörte auch ein Codebuch bei, welches notwenidg war um die Nachrichten zu ver/entschlüsseln. + * Jeder Enigma gehörte auch ein Codebuch bei, welches notwendig war um die Nachrichten zu ver/entschlüsseln. * Im Codebuch standen für jeden Tag des Monats die notwendigen Einstellungen welche vorgenommen werden * mussten um die Texte zu ver/entschlüsseln. * Hiernach wurden die Walzen eingesetzt, die Ringe für den Rücksprung der Walze gesetzt und deren Grundeinstellung @@ -22,22 +22,36 @@ import java.time.ZoneId; * geben kann. */ public class Codebuch { + /** - * TODO: Dokumentieren + * TODO: Dokumentieren tag + * tag : int : gibt den Tag an */ private int tag; + + /** + * walzenlage : int[] : legt die Positionen der Walzen fest + */ private int[] walzenlage; + + /** + * ringstellung : int[] : TODO ringstellung: char || int ? + */ private int[] ringstellung; + + /** + * steckverbindung : char[][] : stellt die Steckverbindungen im Steckbrett dar + */ private char[][] steckverbindung; /** - * Im Konstruktor werden die Standart Werte gesetzt + * Im Konstruktor werden die Standardwerte gesetzt * <p> * walzenlage : int[3] : Hier wird die Position der drei Walzen festgelegt. * ringstellung : char[3] : Jede Walze hat einen Ring. Der Index steht für die Walze und der Value für * die Position des Ringes. * steckverbindung : char[10][] : Zehn Kabel können in das Steckbrett gesteckt werden. In diesem Array werden - * die Kabel mit ihren jeweiligen Buchsen hinterlegt. + * die Kabel mit ihren jeweiligen Buchsen hinterlegt. */ public Codebuch() { this.walzenlage = new int[3]; @@ -53,12 +67,16 @@ public class Codebuch { /** * TODO: Dokumentieren - * @param tag + * Holt den Tagesschluessel aus dem Codebuch ab. Ist kein Tag angegeben, wird der aktuelle Tag genutzt. + * Aus dem Tagesschluessel werden die Werte fuer die Walzenlage, Ringstellung und Steckverbindung + * gesetzt. + * + * @param tag : int[] : gibt einen Tag oder mehrere Tage mit */ public void fetchTagesschluessel(int... tag) { String[] walzenlage, ringstellung, db; - if(tag.length > 0) { + if (tag.length > 0) { db = new DatenbankSqlite().getCodebuch(tag[0]); } else { db = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth()); @@ -82,7 +100,7 @@ public class Codebuch { /** * Gibt die aktuelle Instanz des Codebuches als String zurück. - * Hierbei werden der Tag die Walzenlagen, Ring/Grundstellung sowie die Steckverbindungen zurück gegeben. + * Hierbei werden der Tag die Walzenlagen, Ring-/Grundstellung sowie die Steckverbindungen zurück gegeben. * * @return String : String des gesamten Objektes */ @@ -138,16 +156,14 @@ public class Codebuch { /** * Setzt den Tag dieser Instanz * - * @param tag : int + * @param tag : int : Tag */ - void setTag(int tag) { - this.tag = tag; - } + void setTag(int tag) { this.tag = tag; } /** * Gibt die Walzenlage dieser Instanz zurück * - * @return String[] : Walzenlage + * @return String[] : Walzenlage TODO: String[] || int[]? */ public int[] getWalzenlage() { return walzenlage; @@ -156,7 +172,7 @@ public class Codebuch { /** * Gibt die Ringstellung dieser Instanz zurück * - * @return String[] : Ringstellung + * @return String[] : Ringstellung TODO: String[] || int[]? */ public int[] getRingstellung() { return ringstellung; @@ -177,7 +193,7 @@ public class Codebuch { * * @param kabel : String[] : Die Steckverbindungen die gesteckt werden sollen. * Jeder Eintrag im Array ist ein String mit zwei Zeichen. - * Diese werden in zwei char zerlegt und anschließend im globalen + * Diese werden in zwei chars zerlegt und anschließend im globalen * Array gespeichert. */ private void setSteckverbindung(String[] kabel) { @@ -205,7 +221,7 @@ public class Codebuch { * Setzt die Ringstellung dieser Instanz * * @param position : int : Auf welche Walze wird der Ring aufgesetzt? - * @param ringstellung : char : An dieser Position soll die nächste Walze weiter gedreht werden. + * @param ringstellung : char : An dieser Position soll die nächste Walze weiter gedreht werden.TODO: String[] || int[]? */ private void setRingstellung(int position, int ringstellung) { this.ringstellung[position] = ringstellung; diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java index 5e6966c8dd3ea90b74c68ad0b82010d6342a1592..51bf3a8b377e37edaa1e303a21409f0dea83c87f 100644 --- a/src/main/java/projekt/enigma/model/Walze.java +++ b/src/main/java/projekt/enigma/model/Walze.java @@ -112,7 +112,7 @@ public class Walze { */ //TODO ??? Setter Ringstellung public void setRingstellung(int ringstellung) { - if (ringstellung > 0 && ringstellung <= 26) { + if ((ringstellung > 0) && (ringstellung <= 26)) { this.ringstellung = this.alphabet[ringstellung - 1]; } else { this.ringstellung = 'Z'; @@ -171,7 +171,7 @@ public class Walze { * @return char an der Stelle temp des Alphabets */ public char getAnzeige() { - int temp = this.getArrayIndex('A', this.walzeAlpha); + int temp = this.fetchArrayIndex('A', this.walzeAlpha); return this.alphabet[temp]; } @@ -184,7 +184,7 @@ public class Walze { public char codiere(char buchstabe) { /* durchsucht die (verschobene) Alphabetswalze nach dem aktuellen Buchstaben und uebertraegt den Index auf die gewaehlte Codierwalze*/ - buchstabe = walzenNummer()[getArrayIndex(buchstabe, walzeAlpha)]; + buchstabe = walzenNummer()[fetchArrayIndex(buchstabe, walzeAlpha)]; return buchstabe; } @@ -198,7 +198,7 @@ public class Walze { public char codiere2(char buchstabe) { /* durchsucht die gewaehlte Walze nach dem aktuellen Buchstaben und uebertraegt den Index auf die (verschobene) Alphabetswalze*/ - buchstabe = walzeAlpha[getArrayIndex(buchstabe, walzenNummer())]; + buchstabe = walzeAlpha[fetchArrayIndex(buchstabe, walzenNummer())]; return buchstabe; } @@ -211,7 +211,7 @@ public class Walze { * @param array : Character[] : Array, in dem der Buchstabe vorkommen soll * @return result : int : index des Buchstaben */ - private int getArrayIndex(Character buchstabe, Character[] array) { + private int fetchArrayIndex(Character buchstabe, Character[] array) { // wird mit ungueltigem Wert initialisiert int result = -1; @@ -231,7 +231,7 @@ public class Walze { * @param walzennr : int : Walzennummer */ public void setWalzennr(int walzennr) { - if (walzennr > 0 && walzennr < 6) { + if ((walzennr > 0) && (walzennr < 6)) { this.walzennr = walzennr; } else { System.err.println("Keine gültige Walzennummer"); @@ -261,7 +261,7 @@ public class Walze { buchstabe = Character.toUpperCase(buchstabe); System.arraycopy(this.alphabet, 0, this.walzeAlpha, 0, this.alphabet.length); if (buchstabe > 'A') { - dreheWalze(this.getArrayIndex(buchstabe, this.walzeAlpha)); + dreheWalze(this.fetchArrayIndex(buchstabe, this.walzeAlpha)); } } }