Hallo, habe zwar zu dem Thema einiges gefunden, jedoch hilft es mir nicht so richtig weiter.
Ich soll einen String rekursiv zurückgeben, also ohne Schleifen.
Sprich das Wort "Hallo" soll als "ollaH" zurückgegeben werden.
Ich habe auch einen Quellcode, der dies macht. Allerdings gibt er die Zeichen leider untereinander aus, also die einzelnen Buchstaben. Vielleicht findet ihr ja hier den Fehler den ich gemacht habe:
Dadurch ist mir leider auch kein gescheiter jUnit-Test dafür möglich ...
EDIT: Mein Ansatz ist der, dass ich quasi erstmal überprüfen lasse ob die Länge des Strings über null liegt (in der Aufgabe vorgegeben) und dann die letzte Stelle des Strings ausgegeben wird. Danach ruf ich dreheWortUm erneut auf und er schneidet quasi so lange die Buchstaben ab, bis das Wort umgedreht ist.
Nur wie gesagt kommen die Buchstaben leider untereinander ...
Ich soll einen String rekursiv zurückgeben, also ohne Schleifen.
Sprich das Wort "Hallo" soll als "ollaH" zurückgegeben werden.
Ich habe auch einen Quellcode, der dies macht. Allerdings gibt er die Zeichen leider untereinander aus, also die einzelnen Buchstaben. Vielleicht findet ihr ja hier den Fehler den ich gemacht habe:
Java:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Geben Sie ein Wort ein: ");
String wort = scan.next();
dreheWortUm(wort);
scan.close();
}
public static String dreheWortUm(String wort){
if (wort.length() > 0){
System.out.println(wort.charAt(wort.length()-1));
dreheWortUm(wort.substring(0, wort.length()-1));
}
return wort;
}
}
Dadurch ist mir leider auch kein gescheiter jUnit-Test dafür möglich ...
EDIT: Mein Ansatz ist der, dass ich quasi erstmal überprüfen lasse ob die Länge des Strings über null liegt (in der Aufgabe vorgegeben) und dann die letzte Stelle des Strings ausgegeben wird. Danach ruf ich dreheWortUm erneut auf und er schneidet quasi so lange die Buchstaben ab, bis das Wort umgedreht ist.
Nur wie gesagt kommen die Buchstaben leider untereinander ...
Zuletzt bearbeitet: