Guten Tag,
wir machen im Unterricht gerade das Vigenere-Verfahren.
Um es besser zu verstehen, habe ich mir im Internet ein paar fertige Programmcodes angeschaut.
Dabei bin ich auf einen Code gestoßen, bei dem ich eine Zeile nicht ganz nachvollziehen kann:
Was genau bewirkt bei dieser Methode die Zeile, in der buchstabe mit key.charAt(j) und den A's addiert wird?
Warum wird in der vorletzten Zeile ++j durch die Schlüssellänge key.length() geteilt?
Danke im Vorraus
wir machen im Unterricht gerade das Vigenere-Verfahren.
Um es besser zu verstehen, habe ich mir im Internet ein paar fertige Programmcodes angeschaut.
Dabei bin ich auf einen Code gestoßen, bei dem ich eine Zeile nicht ganz nachvollziehen kann:
Java:
static String verschlüsseln(String text, String key) { //Verschlüsseln
String neuertext = "";
text = text.toUpperCase(); //Umwandlung in Großbuchstaben
for (int i = 0, j = 0; i < text.length(); i = i+1) {
char buchstabe = text.charAt(i);
if (buchstabe < 'A' || buchstabe > 'Z');
neuertext += (char)((buchstabe + key.charAt(j) - 2 * 'A') % 26 + 'A') // welche funktion hat diese zeile? ..... += ist eine Additionszuweisung → alles wird direkt auf neuertext hinzugerechnet
j = ++j % key.length(); //% führt Division aus, nur der Restwert wird geliefert
}
return neuertext;
}
Was genau bewirkt bei dieser Methode die Zeile, in der buchstabe mit key.charAt(j) und den A's addiert wird?
Warum wird in der vorletzten Zeile ++j durch die Schlüssellänge key.length() geteilt?
Danke im Vorraus
Zuletzt bearbeitet: