Hallo,
habe hier einen Caesar Chiffre Code. Habe aber Probleme mit dem Code.
Und zwar ist mir nicht genau klar wofür ich bei der 2. for Schleife das c != abc[a]; a++ brauche. Und bei der 2. Methode entschluessele, bekomme ich eine Fehlermeldung Index Out of Bounds, da der Key negativ ist, was kann ich dagegen tun???
habe hier einen Caesar Chiffre Code. Habe aber Probleme mit dem Code.
Code:
public class Caesar {
public String verschluessele(int key, String wort) {
char abc[] = {
'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'}; //Array mit dem Alphabet
String ergebnis = ""; //Ergebnis initialisieren
int a,k;
for (int i = 0; i < wort.length(); i++) { //Wort durchlaufen
char c = Character.toLowerCase(wort.charAt(i));
for (a = 0; a < abc.length && c != abc[a]; a++);
if(a >= abc.length) {
ergebnis += c;
}
else {
k = ( (a + key) % 26);
ergebnis += abc[k];
}
}
return (ergebnis);
}
public String entschluessele(int key, String wort) {
return this.verschluessele(-key, wort);
}
}