Hey,
wer hätte es gedacht: Ich habe einen Fehler, den ich nicht finde.
Es geht um die Entschlüsselung von Text nach dem Prinzip von Caesar. Die Verschlüsselung klappt, die Entschlüsselung nicht ganz:
Es klappt zum Teil, nur nicht in solchen Fällen:
Wenn "A" der verschlüsselte Buchstabe ist, die Verschlüsselungszahl 3 ist, müsste das entschlüsselte Zeichen ja "X" sein. Aber das funktioniert nicht. Wahrscheinlich nur ein kleiner Fehler, aber ich finde ihn nicht.
Ich hoffe, ihr könnt helfen,
Danke!
wer hätte es gedacht: Ich habe einen Fehler, den ich nicht finde.
Es geht um die Entschlüsselung von Text nach dem Prinzip von Caesar. Die Verschlüsselung klappt, die Entschlüsselung nicht ganz:
Java:
class CaesarEntschluesselung{
private static String[] Alphabet = {"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" };
public static void main (String[] args) {
String input;
String eingabe;
int eingabe2;
String ausgabe="";
int a;
System.out.println("Welcher Text soll entschlüsselt werden?");
eingabe = StdIn.readln();
System.out.println("");
System.out.println("Welche Entschlüsselungszahl soll verwendet werden?");
System.out.print("- ");
input = StdIn.readln();
System.out.println("");
eingabe2 = Integer.valueOf(input).intValue();
eingabe2 = eingabe2 % 26;
for(int i = 0; i < eingabe.length(); i++){
a = eingabe.charAt(i);
if (a > 64 & a < 91) {
a = a + 32;
}
if (a < 96 || a > 123) {
ausgabe = ausgabe + (char) a;
}
else {
ausgabe = ausgabe + (char) ((a-eingabe2-97)%26+65);
}
}
System.out.println("Der entschlüsselte Text lautet:");
System.out.println(ausgabe);
}
}
Es klappt zum Teil, nur nicht in solchen Fällen:
Wenn "A" der verschlüsselte Buchstabe ist, die Verschlüsselungszahl 3 ist, müsste das entschlüsselte Zeichen ja "X" sein. Aber das funktioniert nicht. Wahrscheinlich nur ein kleiner Fehler, aber ich finde ihn nicht.
Ich hoffe, ihr könnt helfen,
Danke!