Frage zu Java/ Programmieren/ Verschlüsselung?

 - (Computer, Programmieren, Informatik)

4 Antworten

So wie das aussieht, ist es bisher nur die Aufgabenstellung. Kannst du uns auch das schicken, was du bis jetzt schon selbst eingefügt hast, damit wir dir da Verbesserungsvorschläge geben können?

Dass da bis jetzt nichts rauskommt, liegt einfach daran, dass die Methoden "verschluesseln" und "entschluesseln" in den Klassen "MorseCode" und "CaesarCode" nicht vervollständigt sind.

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.")));

  }

}

Ich habe keine Ahnung ob das alles richtig ist, aber; Respekt 👍🙈

0

Ist dir aufgefallen, dass deine verschluesseln-Methoden beide null zurückgeben und ansonsten gar nichts tun?

Ich kann mit deiner Aussage "kommt nicht heraus" nichts anfangen.

Woran genau erkennst du denn überhaupt, dass etwas nicht richtig ist?

Auf jeden Fall sehe ich, dass du bisher nur die Methode "entschluesseln" vom MorseCode implementiert hast, alle anderen Verschlüsselungsmethoden geben derzeit noch null zurück. Am besten gibst du stattdessen den leeren String zurück ""

damit sollten die Prints dann auch funktionieren.

Übrigens, du hast ja schon die schöne Oberklasse Verschlüsselung definiert, mit den beiden Methoden, da solltest du das dann auch in der Instanziierung ausnutzen:

Verschlüsselung m = new MorseCode();

Verschlüsselung c = new CaesarCode();

Woher ich das weiß:Hobby – Selbst gelernt

Was möchtest Du wissen?