From b79f46fd15b4985083fc8a0cf86435357ec74f4c Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Fri, 29 Nov 2019 14:03:15 +0100 Subject: [PATCH] =?UTF-8?q?Neue=20Funktionen=20f=C3=BCr=20die=20Kommunikat?= =?UTF-8?q?ion=20zwischen=20Codierer=20und=20GUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/projekt/enigma/model/Codierer.java | 26 +++++++++++++++---- src/main/java/projekt/enigma/model/Walze.java | 2 ++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java index bf095d7..2217aaf 100644 --- a/src/main/java/projekt/enigma/model/Codierer.java +++ b/src/main/java/projekt/enigma/model/Codierer.java @@ -143,8 +143,8 @@ public class Codierer { // Spruchschlüssel anhängen this.spruchschluesselCodiert.substring(0, 3) + " " + this.spruchschluesselCodiert.substring(3, 6) + " "; - // Kenngruppe an das Ende setzen - //this.kenngruppeCodiert; + // Kenngruppe an das Ende setzen + //this.kenngruppeCodiert; } /** @@ -173,7 +173,7 @@ public class Codierer { /** * Gibt die letzte empfangene Nachricht zurück * <br> - * String[0} Tag wann die Nachricht gesendet wurde + * String[0] Tag wann die Nachricht gesendet wurde * String[1] = Die verschlüsselte Nachricht * String[2] = Nachricht im Klartext */ @@ -188,6 +188,19 @@ public class Codierer { nachricht[0] = codierteNachricht[0]; nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]); nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0])); + StringBuilder sb = new StringBuilder(); + + sb.append(nachricht[1], 0, 16); + for(int i = 17; i <= nachricht[1].length();) { + if ((i + 5) < nachricht[1].length()) { + sb.append(nachricht[1], i, i + 5).append(" "); + i += 5; + } else { + sb.append(nachricht[1].substring(i)); + break; + } + } + nachricht[1] = sb.toString(); } return nachricht; @@ -255,7 +268,7 @@ public class Codierer { */ public char codiere(char buchstabe, boolean save) { char codiert = this.hardware.codiere(buchstabe); - if(save) { + if (save) { this.nachricht += codiert; } @@ -264,6 +277,7 @@ public class Codierer { /** * TODO: Dokumentieren + * * @param klartext * @param save * @return @@ -319,6 +333,7 @@ public class Codierer { /** * TODO: Dokumentieren + * * @param nachricht * @return */ @@ -343,7 +358,8 @@ public class Codierer { } /** - * TODO: Dokumentieren + * Setzt die Walze auf der Position (walzenPosition) in die Enigma ein. + * Mit dem char (position) sagt man auf welchen Buchstaben sie eingestellt werden soll. * * @param walzenPosition * @param position diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java index e6da927..51648ac 100644 --- a/src/main/java/projekt/enigma/model/Walze.java +++ b/src/main/java/projekt/enigma/model/Walze.java @@ -140,6 +140,8 @@ public class Walze { /** * TODO: Dokumentieren + * TODO: Ich glaube das kann weg? + * * @return */ public char getAnzeige() { -- GitLab