Я новичок в рекурсивных методах, и я просто не совсем понимаю этот код на 100%, или, может быть, знаю, но могу ли я поразмышлять над этим кодом?Что делает этот рекурсивный метод тайны?
public static void mystery(int n) {
if(n==0){
return;
}
if(n%3 == 0){
System.out.println(n);
}
mystery(n-1);
}
До сих пор я знаю, что он проверяет, является ли n равным 0, и если оно есть, то оно возвращается. Затем он проверяет, является ли int n делимым на 3, а затем он выводит int n. Затем он вызывает тайну (n-1)? Я не очень хорошо понимаю последнюю строку кода.
Он просто вызывает тот же метод с параметром '(n-1)'. Таким образом, в основном он будет продолжать проверять все числа, делящиеся на 3 от n до 0, и печатать только те, которые делятся. Просто попробуйте записать его и сушить его – noMAD
** Сначала ** убедитесь, что у вас есть соответствующие кронштейны. – Nishant
Лучшим способом понять такие вещи было бы фактически запустить этот код с различными параметрами, узнать, как использовать отладчик, и найти его сами. Тогда вы не только поймете эту часть кода, но и научитесь чему-то полезному. – Axel