Aufgabe – Verschlüsselung
Schon Cäsar wusste um die Bedeutung der Kryptographie und so geht die Geschichte, dass er einen Angriffsbefehl verschlüsselt an seine Befehlshaber sandte. Er verwendete dabei ein einfaches Verfahren, die sogenannte Cäsar-Chiffre. Dabei wird das Alphabet um eine bestimmte Anzahl von Buchstaben verschoben, z.B. um 2 Zeichen. Dann bekommt ein ’c’ die Bedeutung eines ’a’ und ein ’d’ die eines ’b’ usw. Dabei dient die Anzahl der Zeichen, um die verschoben wird, als Schlüssel.

Schreibe eine Funktion static String encrypt(String text, int key), die einen text verschlüsselt und als Ergebnis liefert. Dabei steht key für die Anzahl der Zeichen um die jeder Buchstabe in text verschoben wird. Es werden nur Buchstaben verschlüsselt. Alle anderen Zeichen werden unverändert übernommen. Du darfst davon ausgehen, dass text nur Kleinbuchstaben enthält.
Schreibe außerdem eine Funktion static String decrypt(String text, int key), die einen verschlüsselten text wieder entschlüsselt. Du darfst wieder davon ausgehen, dass text nur Kleinbuchstaben enthält.
Bei Fehlerfällen soll bei beiden Funktionen ein leerer String als Ergebnis geliefert werden.
Hinweis: Du kannst in deinem Programm folgende Methoden verwenden:
- boolean Character.isLetter(char ch)
- boolean Character.isUpperCase(char ch)
- boolean Character.isLowerCase(char ch)
Aufruf

Ausgabe

Tests
- Zeige anhand mindestens dreier sinnvoller Testfälle, dass dein Programm funktioniert!
- Teste die Funktion mit unterschiedlichen Feldern in der main-Methode.
- Vergiss dabei nicht, die Fehlerfälle zu testen.