Skip to content
Snippets Groups Projects
Commit 9b9e7fe7 authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Fehler bei ueberpuefeVertauschungen behoben

parent 5f2f5ba0
No related branches found
No related tags found
No related merge requests found
...@@ -408,7 +408,7 @@ public class Codierer { ...@@ -408,7 +408,7 @@ public class Codierer {
* Setzt das Kabel in beide Ports ein und fügt es dem Steckbrett Array hinzu. * 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 port : int : Kabel Nummer welches am Steckbrett eingesteckt wird
* @param verbindung : String : Verbindung welche die vertauschten Buchstaben angibt * @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) { public boolean setSteckbrett(int port, String verbindung) {
return this.hardware.getSteckbrett().setzeVertauschung(port, verbindung.charAt(0), verbindung.charAt(1)); return this.hardware.getSteckbrett().setzeVertauschung(port, verbindung.charAt(0), verbindung.charAt(1));
......
...@@ -10,7 +10,7 @@ package projekt.enigma.model; ...@@ -10,7 +10,7 @@ package projekt.enigma.model;
public class Steckbrett { 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; private int zaehler;
...@@ -44,8 +44,8 @@ public class Steckbrett { ...@@ -44,8 +44,8 @@ public class Steckbrett {
* <br> * <br>
* Anschließend wird: * Anschließend wird:
* <p> * <p>
* buchstabe1 in das Array orginalBuchstaben 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. * buchstabe2 in das Array getauschteBuchstaben auf den nächsten, freien Index geschrieben.
* </p> * </p>
* *
* @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll. * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll.
...@@ -54,17 +54,13 @@ public class Steckbrett { ...@@ -54,17 +54,13 @@ public class Steckbrett {
*/ */
public boolean setzeVertauschung(char buchstabe1, char buchstabe2) { public boolean setzeVertauschung(char buchstabe1, char buchstabe2) {
if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) { if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2) && (zaehler < orginalBuchstaben.length)) {
return false; orginalBuchstaben[zaehler] = buchstabe1;
} else { getauschteBuchstaben[zaehler++] = buchstabe2;
if (zaehler < orginalBuchstaben.length) {
orginalBuchstaben[zaehler] = buchstabe1;
getauschteBuchstaben[zaehler++] = buchstabe2;
return true; return true;
} else { } else {
return false; return false;
}
} }
} }
...@@ -76,8 +72,8 @@ public class Steckbrett { ...@@ -76,8 +72,8 @@ public class Steckbrett {
* <br> * <br>
* Anschließend wird: * Anschließend wird:
* <p> * <p>
* buchstabe1 in das Array orginalBuchstaben 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. * buchstabe2 in das Array getauschteBuchstaben auf den Index (steckbrettPort) geschrieben.
* </p> * </p>
* *
* @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll. * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll.
...@@ -87,12 +83,13 @@ public class Steckbrett { ...@@ -87,12 +83,13 @@ public class Steckbrett {
public boolean setzeVertauschung(int steckbrettPort, char buchstabe1, char buchstabe2) { public boolean setzeVertauschung(int steckbrettPort, char buchstabe1, char buchstabe2) {
if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) { if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) {
return false;
} else {
orginalBuchstaben[steckbrettPort - 1] = buchstabe1; orginalBuchstaben[steckbrettPort - 1] = buchstabe1;
getauschteBuchstaben[steckbrettPort - 1] = buchstabe2; getauschteBuchstaben[steckbrettPort - 1] = buchstabe2;
return true; return true;
} else {
return false;
} }
} }
...@@ -108,18 +105,12 @@ public class Steckbrett { ...@@ -108,18 +105,12 @@ public class Steckbrett {
* @return boolean : Wenn false, dann darf der Buchstabe genutzt werden. * @return boolean : Wenn false, dann darf der Buchstabe genutzt werden.
* Wenn er schon vorhanden ist, wird true zurück gegeben * Wenn er schon vorhanden ist, wird true zurück gegeben
*/ */
public boolean ueberpruefeVertauschungen(char buchstabe) { public boolean ueberpruefeVertauschungen(Character buchstabe) {
boolean result = false; boolean result = false;
for (char c : orginalBuchstaben) { for (int n = 0; n < orginalBuchstaben.length; n++) {
if (c == buchstabe) { if (buchstabe.equals(orginalBuchstaben[n]) || buchstabe.equals(getauschteBuchstaben[n])) {
result = true;
break;
}
}
for (char c : getauschteBuchstaben) {
if (c == buchstabe) {
result = true; result = true;
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment