Задача состоит в том, чтобы переместить число в строке в начало строки с помощью рекурсии. В строке всегда содержится только одно число. Поэтому, если я добавлю код «ba3nana», он должен вернуть «3banana». Уже выполнил несколько рекурсивных заданий, но на этом я застрял. Я попробовал, я думаю, уже 50 различных комбинаций, но пока мой код возвращает только «banana3», поэтому я go противоположным образом с моим номером. Я понимаю, что этот код перемещает каждое число вправо, но все еще не может определить правильную комбинацию, чтобы получить вывод с числом слева. Если я переверну все вокруг, все перевернется и станет «3ananab»
Вызов метода будет выглядеть следующим образом:
System.out.println(shiftDigitLeft("ba3nana"));
Это код, который возвращает banana3:
private static String shiftDigitLeft(String text) {
if (text.isEmpty()) {
return text;
} else {
if (text.charAt(0) >= '\u0030' && text.charAt(0) <= '\u0039') {
return shiftDigitLeft(text.substring(1)) + text.charAt(0);
} else {
return text.charAt(0) + shiftDigitLeft(text.substring(1));
}
}
}
Буду очень признателен, если кто-нибудь покажет мне, как это делается правильно, заранее спасибо!