Ich soll folgendes implementieren: eine statische-public Methode mit dem Namen "encodeCaesar" in der Klasse "Functionality.java", welche einen Text mithilfe der Cäsar-Veschlüsselung chiffriert.
Die Methode bekommt als Eingabeparameter einen String-Wert und einen Integer-Wert. Die Buchstaben (Character) aus dem String-Wert sollen um den Integer-Wert verschoben werden.
Der einfachheitshalber können Sie davon ausgehen, dass nur Buchstaben und keine Leer-, Ziffer- oder Sonderzeichen vorhanden sind.
Der String-Wert soll in Kleinbuchstaben umgewandelt werden, bevor die Verschlüsselung durchgeführt wird.
Die Methode soll wieder einen String zurückgeben, bei dem jeder Buchstabe entsprechend des angebenen Integer-Wertes verschoben wurde.
Beispiel: encodeCaesar("Ac",3) gibt "df" zurück.
Wenn der mitgegebene Integer-Wert kleiner als 0 oder größer als 26 ist, soll ein leerer String zurückgegeben werden.
Verwenden Sie in Ihrer Lösung String-Manipulationen und Character-Arrays (char[]).
Die Verwendung von externen Bibliotheken oder anderen Inhalten, die noch nicht in dieser Veranstaltung behandelt wurden, sind untersagt.
Mein Code:
[CODE lang="java" title="Mein Code"]public static String caesar(String s, int val) {
char[] newString = s.toCharArray();
for (int i = 0; i < s.length(); i++) {
int newChar = newString + val + 26;
// Handle uppercase letters
while (Character.isUpperCase(newString) && newChar >= 65 + 26) {
newChar -= 26;
}
// Handle lowecase letters
while (Character.isLowerCase(newString) && newChar >= 97 + 26) {
newChar -= 26;
}
newString = (char) (newChar);
}
return String.valueOf(newString);
}[/CODE]
Die Methode bekommt als Eingabeparameter einen String-Wert und einen Integer-Wert. Die Buchstaben (Character) aus dem String-Wert sollen um den Integer-Wert verschoben werden.
Der einfachheitshalber können Sie davon ausgehen, dass nur Buchstaben und keine Leer-, Ziffer- oder Sonderzeichen vorhanden sind.
Der String-Wert soll in Kleinbuchstaben umgewandelt werden, bevor die Verschlüsselung durchgeführt wird.
Die Methode soll wieder einen String zurückgeben, bei dem jeder Buchstabe entsprechend des angebenen Integer-Wertes verschoben wurde.
Beispiel: encodeCaesar("Ac",3) gibt "df" zurück.
Wenn der mitgegebene Integer-Wert kleiner als 0 oder größer als 26 ist, soll ein leerer String zurückgegeben werden.
Verwenden Sie in Ihrer Lösung String-Manipulationen und Character-Arrays (char[]).
Die Verwendung von externen Bibliotheken oder anderen Inhalten, die noch nicht in dieser Veranstaltung behandelt wurden, sind untersagt.
Mein Code:
[CODE lang="java" title="Mein Code"]public static String caesar(String s, int val) {
char[] newString = s.toCharArray();
for (int i = 0; i < s.length(); i++) {
int newChar = newString + val + 26;
// Handle uppercase letters
while (Character.isUpperCase(newString) && newChar >= 65 + 26) {
newChar -= 26;
}
// Handle lowecase letters
while (Character.isLowerCase(newString) && newChar >= 97 + 26) {
newChar -= 26;
}
newString = (char) (newChar);
}
return String.valueOf(newString);
}[/CODE]
Java:
public class Functionality {
public static void main(String[] args) {
}
public static String encodeCaesar(String s, int val) {
char[] newString = s.toCharArray();
for (int i = 0; i < s.length(); i++) {
int newChar = newString[i] + val + 26;
// Handle uppercase letters
while (Character.isUpperCase(newString[i]) && newChar >= 65 + 26) {
newChar -= 26;
}
// Handle lowecase letters
while (Character.isLowerCase(newString[i]) && newChar >= 97 + 26) {
newChar -= 26;
}
newString[i] = (char) (newChar);
}
return String.valueOf(newString);
return new String(newString);
}
}