diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java index f62108eab6856329005cb2c7dfffac1b3ac9d548..bccbda412ae0c182eb566f19bb232b1b90b822be 100644 --- a/src/main/java/projekt/enigma/model/Codierer.java +++ b/src/main/java/projekt/enigma/model/Codierer.java @@ -408,7 +408,7 @@ public class Codierer { * Setzt das Kabel in beide Ports ein und fügt es dem Steckbrett Array hinzu. * @param port : int : Kabel Nummer welches am Steckbrett eingesteckt wird * @param verbindung : String : Verbindung welche die vertauschten Buchstaben angibt - * @return + * @return boolean : Wenn true, darf das Kabel gesteckt werden, wenn nicht, steckt da bereits schon eines */ public boolean setSteckbrett(int port, String verbindung) { return this.hardware.getSteckbrett().setzeVertauschung(port, verbindung.charAt(0), verbindung.charAt(1)); diff --git a/src/main/java/projekt/enigma/model/Steckbrett.java b/src/main/java/projekt/enigma/model/Steckbrett.java index f1fbfcb792783d7e83034fa45d3996a0a0d4011a..02decf2ef714004294eb97252757befe81f3bee1 100644 --- a/src/main/java/projekt/enigma/model/Steckbrett.java +++ b/src/main/java/projekt/enigma/model/Steckbrett.java @@ -10,7 +10,7 @@ package projekt.enigma.model; public class Steckbrett { /** - * zaehler: Int, der als Laufvariable genutzt wird + * zaehler: Int, der als Laufvariable für die gesteckten Kabel genutzt wird */ private int zaehler; @@ -44,8 +44,8 @@ public class Steckbrett { * <br> * Anschließend wird: * <p> - * buchstabe1 in das Array orginalBuchstaben auf den nächsten, freien Index geschrieben - * buchstabe2 in das Array getauschteBuchstaben auf den nächsten, freien Index geschrieben. + * buchstabe1 in das Array orginalBuchstaben auf den nächsten, freien Index geschrieben + * buchstabe2 in das Array getauschteBuchstaben auf den nächsten, freien Index geschrieben. * </p> * * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll. @@ -54,17 +54,13 @@ public class Steckbrett { */ public boolean setzeVertauschung(char buchstabe1, char buchstabe2) { - if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) { - return false; - } else { - if (zaehler < orginalBuchstaben.length) { - orginalBuchstaben[zaehler] = buchstabe1; - getauschteBuchstaben[zaehler++] = buchstabe2; + if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2) && (zaehler < orginalBuchstaben.length)) { + orginalBuchstaben[zaehler] = buchstabe1; + getauschteBuchstaben[zaehler++] = buchstabe2; - return true; - } else { - return false; - } + return true; + } else { + return false; } } @@ -76,8 +72,8 @@ public class Steckbrett { * <br> * Anschließend wird: * <p> - * buchstabe1 in das Array orginalBuchstaben auf den Index (steckbrettPort) geschrieben - * buchstabe2 in das Array getauschteBuchstaben auf den Index (steckbrettPort) geschrieben. + * buchstabe1 in das Array orginalBuchstaben auf den Index (steckbrettPort) geschrieben + * buchstabe2 in das Array getauschteBuchstaben auf den Index (steckbrettPort) geschrieben. * </p> * * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll. @@ -87,12 +83,13 @@ public class Steckbrett { public boolean setzeVertauschung(int steckbrettPort, char buchstabe1, char buchstabe2) { if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) { - return false; - } else { orginalBuchstaben[steckbrettPort - 1] = buchstabe1; getauschteBuchstaben[steckbrettPort - 1] = buchstabe2; return true; + } else { + + return false; } } @@ -108,20 +105,13 @@ public class Steckbrett { * @return boolean : Wenn false, dann darf der Buchstabe genutzt werden. * Wenn er schon vorhanden ist, wird true zurück gegeben */ - public boolean ueberpruefeVertauschungen(char buchstabe) { + public boolean ueberpruefeVertauschungen(Character buchstabe) { boolean result = false; - for (char c : orginalBuchstaben) { - if (c == buchstabe) { - result = true; - break; - } - } - for (char c : getauschteBuchstaben) { - if (c == buchstabe) { + for (int n = 0; n < orginalBuchstaben.length; n++) { + if (buchstabe.equals(orginalBuchstaben[n]) || buchstabe.equals(getauschteBuchstaben[n])) { result = true; - break; } }