Doppelwürfel

Hallo alle mit einander!
Könntet ihr mir helfen? Ich habe grade ein Problem, ich komme bei einer Aufgabe einfach nicht weiter.Ich muss beim DoppelWürfel kodieren und dekodieren so wie hier (https://infsec.de/doppelwuerfel/) .Hab schon etwas angefangen, doch stehe mittlerweile voll auf dem Schlauch.
Hoffe ihr könnt mir ein bisschen helfen .
vielen Dank im voraus


// so sieht meine klasse

public class Wuerfel {
String loesung ;

int[] schluessel_wort;

public Wuerfel(String loesung) {
setzeLosung(loesung);
}

private void setzeLosung(String loesung2) {
// TODO Auto-generated method stub

}

public String kodiere(String klartext) {
StringBuffer kodieren= new StringBuffer();
int spalte = schluessel_wort.length;


for (int j=0; j<spalte; j++){
for (int k = 0; k <= klartext.length()/spalte; k++) {

int index = k * spalte + schluessel_wort[j];

if (index < klartext.length()) {
char aus = klartext.charAt(index);
}

}

}
return klartext;
}}
 
Bitte Code-Tags zum Einfügen von Code verwenden (die drei Punkte neben dem Smiley, dann auf Code), sonst leidet die Lesbarkeit.

Wo kommst Du denn nicht weiter? Der Code sieht ja auf den ersten Blick schon mal nicht so verkehrt aus. schluessel_wort muss die Indizes in alphabetisch aufsteigender Reihenfolge der Zeichen im Schlüssel enthalten. Außerdem musst Du natürlich beim Kodieren das gefunden Zeichen noch dem kodierten String hinzufügen und am Ende diesen auch zurückgeben.
 
public class Wuerfel {
String loesung ;

int[] schluessel_wort;

public Wuerfel(String loesung) {
setzeLosung(loesung);
}

private void setzeLosung(String loesung2) {
// TODO Auto-generated method stub

}

public String kodiere(String klartext) {
StringBuffer kodieren= new StringBuffer();
int spalte = schluessel_wort.length;


for (int j=0; j<spalte; j++){
for (int k = 0; k <= klartext.length()/spalte; k++) {

int index = k * spalte + schluessel_wort[j];

if (index < klartext.length()) {
char aus = klartext.charAt(index);
}

}

}
return klartext;
}}
Java:
 
Vielen Dank für deine Antwort @mihe7 ..also wie kann ich richtig den kodierten String und die gefundene Zeichen ausgeben hinzufügen ?
Vielen Dank
 
Was das Einfügen des Codes betrifft: Du musst den Code schon in das Fenster einfügen, das aufgeht, wenn Du über die drei Punkte neben dem Smiley gehst :)

Java:
        if (index < klartext.length()) {
            kodieren.append(klartext.charAt(index));
        }
und statt
Java:
return klartext;
musst Du
Java:
return kodieren.toString();
verwenden.
 
Java:
 String loesung ;
 
    int[] schluessel_wort;
    
    public Wuerfel(String loesung) {
        setzeLosung(loesung);
    }
    
    private void setzeLosung(String loesung2) {
        // TODO Auto-generated method stub
        
    }

    
     public String kodiere(String klartext) {
         StringBuffer kodieren= new StringBuffer();
        int spalte = schluessel_wort.length; 
        
        
        for (int j=0; j<spalte; j++){
          for (int k = 0; k <= klartext.length()/spalte; k++) {
        
              int index = k * spalte + schluessel_wort[j];
              
  
              if (index < klartext.length()) {
                  kodieren.append(klartext.charAt(index));
              }
        
     }


}
        return  kodieren.toString();
     }}
 
@Rumi Hast Du eine Lösung? Meine sieht irgendwie komplexer aus... Und beim anschließendem Verschlüsseln mit DECKEL wird es wegen der Leerzeichen Sch***e...
 
ich habe versucht ein String zu geben ..hat nicht funktioniert und gibt mir die gleiche String Zurück (also ohne Kodierung )...fehler bekomme ich nicht ..der Code ist immer noch die gleiche wie oben ..hab nicht in den geändert . kann man vielleicht weiter helfen
Vielen Dank
 
Also Du solltest schon den genauen Code, wie Du ihn derzeit hast und nutzt, komplett bringen. Der Code oben ist zumindest unvollständig (schluessel_wort / losung wird nicht gesetzt aber das wird ja auch im code benutzt).
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben