public static int exponent(int baseNum, int exp) {
if (exp == 0) return 1;
else return baseNum * exponent(baseNum, --exp);
}
Я не понимаю, как эти два параметра работают в этом рекурсивном методе. Возвращается ли значение baseNum, переданное экспоненте, умноженное на baseNum? Тогда второй параметр (exp) делает то же самое, пока не достигнет базового случая? Если бы вы могли помочь мне визуализировать или сломать, как это работает, это было бы здорово! Спасибо.Как работают рекурсивные параметры?
Рекурсивных параметров нет. Существуют только методы, которые называются рекурсивно. Каждый вызов метода вызывается с новыми аргументами (значениями), связанными с новыми параметрами. На листе бумаги пройдите через * значения *, предоставленные каждому рекурсивному вызову и причине о логике, данной этим. – user2864740
Если вы пройдете через код в своем отладчике, вы увидите, как работает стек и каковы значения на каждом уровне/вызове. –