Итак, у меня есть небольшая проблема с окончательной частью моего задания по рекурсии. Метод должен использовать рекурсию для возврата строки, которая формируется из «плетения» вместе двух строк, взятых в качестве параметров. Например:объединение строк с использованием рекурсии
weave("aaaa", "bbbb") // should return the string "abababab"
weave("hello", "world") // should return the string "hweolrllod"
weave("recurse", "NOW") // should return the string "rNeOcWurse"
Обратите внимание, что дополнительные символы из первых строковых символов в «urse» Придите после символов, которые были сплетенные вместе.
Важной (и раздражающей) вещью является то, что мне не разрешено использовать любые итерационные петли (пока, пока).
Вот мой код до сих пор:
public static String weave(String str1, String str2)
{
String word = str1 + str2;
if(str1 == null || str1.equals("") || str2 == null || str2.equals(""))
{
return word;
}
String word1 = weave(str1.substring(0, str1.length() - 1), str2.substring(0, str2.length() - 1));
System.out.println(word1);
return word;
}
Для (Привет, мир), мой вывод:
HW
HeWo
HelWor
HellWorl
HelloWorld
Очевидно мои персонажи не ткачества, так что я не уверен, что делать! Кроме того, как указано выше, метод не должен печатать. Я только что добавил в заявлении println
как тест, чтобы увидеть, где была моя программа.
сообщает, что ваш выход * должен выглядеть так: –
@LiviuT. Вначале они приводят ожидаемый конечный результат в примерах. –
@ LiviuT. См. Комментарии первого кодового блока. –