Frage zu Java/ Programmieren/ Verschlüsselung?

Ich habe eine sehr komplexe Frage würde mich aber extrem freuen wenn mir jemand helfen könnte, für die Schule soll ich ein kurzes Java Programm schreiben, bei mir kommt aber nicht heraus (kein Syntax error)

Hier die Angaben;

Aufgabe; Implementieren Sie die folgenden Punkte unten im Programmcode:

  1. Die Klasse CaeserCode soll zusätzlich ein Attribut offset besitzen, das die Buchstaben-Verschiebung der Caesar-Verschlüsselung angibt. Beispielsweise wird bei einem Offset (Verschiebung) von 3 aus einem A ein D. Belegen Sie das Attribut offset im Standardkonstruktor mit dem Wert 1.
  2. Bei der Caesar-Verschlüsselung sollen nur die 26 Buchstaben des lateinischen Alphabets verschlüsselt werden, alle anderen Sonderzeichen bleiben unverschlüsselt. Die Groß- und Kleinschreibung soll beibehalten werden.
  3. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse CaesarCode.
  4. Verwenden Sie die Methoden: zeichenInMorseCodeUmwandeln(char zeichen) und morseCodeInZeichenUmwandeln(String morsecode) in den Methoden verschluesseln() und entschluesseln() der Unterklasse MorseCode.
  5. Für die Morse-Verschlüsselung sollen zwischen den Buchstaben ein Leerzeichen und zwischen den Wörtern fünf Leerzeichen eingefügt werden. Die Eingabe kann einfach in Großbuchstaben umgewandelt werden (mit der Methode toUpperCase()).
  6. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse MorseCode.
  7. Die Tests prüfen nur das Verschlüsseln ab. Das Vervollständigen der Methode entschluesseln() ist eine Zusatzaufgabe.

Bereits zur verfügung gestellter Code siehe kommentare

...zur Frage

AngabeMorsecode.java

public class MorseCode extends Verschluesselung {

  String[][] schluesselTabelle = new String[][] {

    {"A", ".-"}, {"B", "-..."}, {"C", "-.-."}, {"D", "-.."},

    {"E", "."}, {"F", "..-."}, {"G", "--."}, {"H", "...."},

    {"I", ".."}, {"J", ".---"}, {"K", "-.-"}, {"L", ".-.."},

    {"M", "--"}, {"N", "-."}, {"O", "---"}, {"P", ".--."},

    {"Q", "--.-"}, {"R", ".-."}, {"S", "..."}, {"T", "-"},

    {"U", "..-"}, {"V", "...-"}, {"W", ".--"}, {"X", "-..-"},

    {"Y", "-.--"}, {"Z", "--.."}, {"0", "-----"}, {"1", ".----"},

    {"2", "..---"}, {"3", "...--"}, {"4", "....-"}, {"5", "....."},

    {"6", "-...."}, {"7", "--..."}, {"8", "---.."}, {"9", "----."},

    {"'", ".----."}, {":", "---..."}, {",", "--..--"}, {"_", "..--.-"},

    {")", "-.--.-"}, {"?", "..--.."}, {";", "-.-.-. "},

    {"/", "-..-."}, {"(", "-.--."}, {"=", "-...-"},

    {"@", ".--.-."}, {"\"", ".-..-."}, {"+", ".-.-."},

    {".", ".-.-.-"}, {"-", "-....-"}, {" ", "  "}

  };

  public String verschluesseln(String s) {

    return null;

  }

  public String entschluesseln(String s) {

    String ergebnis = null;

    if(s!=null){

      String[] woerter = s.split(" {5}");//bei 5 leerzeichen trennen

      String[] buchstaben;

      ergebnis="";

      for (int i = 0; i < woerter.length; i++) {

        buchstaben = woerter[i].split(" ");

        //vervollstaendigen Sie hier diese Methode.

        ergebnis = ergebnis + " ";

      }

    }

     

    return ergebnis;

  }

   

  public String zeichenInMorseCodeUmwandeln(char zeichen){

    String morsezeichen = "";

    for (int j = 0; j < schluesselTabelle.length; j++) {

      if(zeichen == schluesselTabelle[j][0].charAt(0)) {

        morsezeichen = schluesselTabelle[j][1];

      }

    }

    return morsezeichen;

  }

   

  public char morseCodeInZeichenUmwandeln(String morsecode){

    char zeichen =' ';

    for (int j = 0; j < schluesselTabelle.length; j++) {

      if(morsecode.equals(schluesselTabelle[j][1])) {

        zeichen = schluesselTabelle[j][0].charAt(0);

      }

    }

    return zeichen;

  }

}

Angabe CeasarCode.java

public class CaesarCode extends Verschluesselung {

  public CaesarCode(){

     

  }

  public CaesarCode(int offset) {

  }

  public String verschluesseln(String s) {

    return null;

  }

  public String entschluesseln(String s) {

    return null;

  }

}

Angabe Verschlüsselung.java

public abstract class Verschluesselung {

  public abstract String verschluesseln(String s);

  public abstract String entschluesseln(String s);

  public static void main(String[] args) {

    MorseCode m = new MorseCode();

    System.out.println(m.verschluesseln("Code. ... . test-test."));

    System.out.println(m.entschluesseln(m.verschluesseln("Code. ... . test-test.")));

    CaesarCode c = new CaesarCode(10);

    System.out.println(c.verschluesseln("Code. ... . test-test."));

    System.out.println(c.entschluesseln(c.verschluesseln("Code. ... . test-test.")));

  }

}

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.