У меня есть проблема, чтобы понять, как рассчитывается параметр рекурсии, который объясняется в этом вопросе Java recursion and integer double digit. Внедренный код выглядит следующим образом:Объяснение рекурсии двухзначных чисел
public static int doubleDigits(int i){
if (i == 0){
return 0;
}else{
return doubleDigits(i/10) * 100 + (i % 10) * 10 + i % 10;
}
}
С результатом, если INT I = 1234:
11223344
Я пытался отладки кода, но возникли трудности, чтобы понять, что происходит.
Я проверил множество примеров, и я могу понять большинство случаев, как работает рекурсия, но не в этом случае.
Я хотел бы получить легко объяснимое объяснение того, как рекурсия работает в этом случае.
'doubleDigits' вызывается рекурсивно, пока не встретит условие перерыва. –
Пользователь карандаш и бумага, установите 'i = 12' и начните рисовать вещи. Этот метод поможет вам понять рекурсию в 100% случаев. – Maroun
Я попробую с карандашом и бумагой, звучит как хорошая идея. Ха-ха. – codeme