Это домашнее задание, на котором я застрял. Я даю ArrayList и мне нужно вернуть String со всеми удвоенными символами. Вход: abc, Выход: aabbcc. Что я получаю, так как мой вывод аа, то он останавливается. Я делал это несколько раз с циклом, но я не могу получить это с помощью рекурсии.
Я попытался повторно отредактировать свой код, а также попытался использовать счетчик, но я либо получаю нулевое возвращение, либо получу ошибку потока overstack. Я пошел на веб-сайт Oracles, чтобы выяснить, какие другие методы String я мог бы использовать, и попытался изменить свой код другими методами, но все равно не повезло.
Мои другие методы работают с превращением ArrayList в строку, но это мой последний метод, с которым у меня проблемы.
public String dupEachChar2(String str) {
//str is going to be a string with abc in it.
String x = "";
int count = 0;
// I'm checking if there is only 1 char, if so just return it twice to 1 string.
if(str.length() == 1) {
return str + str;
} else if(count != str.length()) {
//Doubling part that I can not figure out.
x += str.substring(count, count+1) + str.substring(count, count+1);
count++;
dupEachChar2(str.substring(count));
}
return x;
}