Hallo mein Informatiklehrer hat mir die Aufgabe gegeben eine Cäsar Verschlüsselung zu schreiben.
Habe auch schon mal einen Code programmiert, jedoch funktioniert es nicht ganz wie geplant.
Die erste for-Schleife dient zum wiederholen der 2. also das der char öfter +1 genommen wird. Geht das nicht? Wo ist mein Fehler?
PS: Habe bereits im Internet geschaut, auch vieles gefunden jedoch würde ich gerne den gesamten Code für die Cäsar Verschlüsselung in einer Methode schreiben. Wenn ich die Codes anderer lese verstehe ich sie zwar meistens jedoch kann ich nicht schließen wie sie darauf kommen erst eine Merthode zum encoden eines einzelnen Buchstabens und anschließend eine Methode für die Verschlüsselung eines kompletten Strings(Bisschen zu viel herumgelabert aber macht nichts)
PS'S: 2. Variante:
Ich dachte mir halt, dass zuerst der name ausgelesen wird. Dann wird doch eigentlich der angegebene String an seine einzelnen character untersucht und addiert dann jeden character mit dem Wert 1. Anschließend wollte ich den String wieder zusammensetzen und diesen wieder auslesen. Und dann wieder von Anfang solange bis der Wert der Variablen verschiebung erreicht ist.
Jedoch liefert mir diese Methode auch nichts richtiges..
(Ich hoffe mein Gedankengang ist ansatzweise verständlich)
Mit freundlichen Grüßen,
Zitrus
Habe auch schon mal einen Code programmiert, jedoch funktioniert es nicht ganz wie geplant.
Java:
private static void encode(String name, int verschiebung) {
for (int i = 0; i < verschiebung; i++) {
for (int j = 0; j < name.length(); j++) {
c = (char) (name.charAt(i) + 1);
if (c > 'z' + 1) {
c = 'a';
} else if (c > 'Z' + 1) {
c = 'A';
}
System.out.print(c);
}
}
}
Die erste for-Schleife dient zum wiederholen der 2. also das der char öfter +1 genommen wird. Geht das nicht? Wo ist mein Fehler?
PS: Habe bereits im Internet geschaut, auch vieles gefunden jedoch würde ich gerne den gesamten Code für die Cäsar Verschlüsselung in einer Methode schreiben. Wenn ich die Codes anderer lese verstehe ich sie zwar meistens jedoch kann ich nicht schließen wie sie darauf kommen erst eine Merthode zum encoden eines einzelnen Buchstabens und anschließend eine Methode für die Verschlüsselung eines kompletten Strings(Bisschen zu viel herumgelabert aber macht nichts)
PS'S: 2. Variante:
Java:
private static void encode(String name, int verschiebung) {
for (int i = 0; i < verschiebung; i++) {
for (int j = 0; j < name.length(); j++) {
c = (char) (name.charAt(i) + 1);
if (c > 'z' + 1) {
c = 'a';
} else if (c > 'Z' + 1) {
c = 'A';
}
char[] a = new char[name.length()];
a[i] = c;
String b = new String(a);
name = b;
System.out.print(b);
}
}
}
Ich dachte mir halt, dass zuerst der name ausgelesen wird. Dann wird doch eigentlich der angegebene String an seine einzelnen character untersucht und addiert dann jeden character mit dem Wert 1. Anschließend wollte ich den String wieder zusammensetzen und diesen wieder auslesen. Und dann wieder von Anfang solange bis der Wert der Variablen verschiebung erreicht ist.
Jedoch liefert mir diese Methode auch nichts richtiges..
(Ich hoffe mein Gedankengang ist ansatzweise verständlich)
Mit freundlichen Grüßen,
Zitrus
Zuletzt bearbeitet: