Aufgabenstellung: die Methode verschiebt eine Ziffer innerhalb des Strings text an vorderster Stelle. Es geht wieder um Rekursion weshalb keine Schleifen verwendet werden dürfen.
zB
shiftDigitLeft("zm7na") liefert "7zmna"
Bei mir wird allerdings die Ziffer an letzter Stelle ausgegeben. Ich hab dieses Mal leider gar keine Idee was ich machen könnte..
zB
shiftDigitLeft("zm7na") liefert "7zmna"
Java:
private static String shiftDigitLeft(String text) {
if (text.isEmpty()) {
return text;
}
char digit = text.charAt(0);
if (digit >= '0' && digit <= '9') {
return shiftDigitLeft(text.substring(1)) + digit;
} else {
return text.charAt(0) + shiftDigitLeft(text.substring(1));
}
}
public static void main(String[] args) {
System.out.println(shiftDigitLeft("zm7na"));
System.out.println(shiftDigitLeft("ohneziffer"));
assert (shiftDigitLeft("zm7na").equals("7zmna"));
assert (shiftDigitLeft("ohneziffer").equals("ohneziffer"));
Bei mir wird allerdings die Ziffer an letzter Stelle ausgegeben. Ich hab dieses Mal leider gar keine Idee was ich machen könnte..