Я занят изучением рекурсии в Java, и у меня есть задача с заменой в рекурсии, у меня есть следующий метод, который работает, и теперь я хочу перейти в рекурсию.
public class replaceWith {
public static void main(String[] args)
{
System.out.println(replaceWith("Hallo World" , "ll","@@"));
}
public static String replaceWith(String str1, String str2, String str3)
{
return str1.replaceAll(str2, str3);
}
}выше код работает, ниже мой код для рекурсии replace ()
public class replaceWith {
public static void main(String[] args)
{
System.out.println(replaceWith("Hallo World" , "ll","@@"));
}
public static String replaceWith(String str1, String str2, String str3)
{
if (str1.length() <=1)
return str1;
else
return replaceWith(str1.replaceAll(str2, str3));
}
}
Я получаю сообщение об ошибке при моем последнем возврате, которое гласит: «Метод replaceWith (STring, String, String) в типе replaceWith неприменимо для аргументов (String) "
Какая будет причина для этого?