Итак, я одитирую курс Java по EdX и до этого момента у меня все хорошо. Я пришел к рекурсиям, и одна из задач - создать метод, который считает до определенного числа, помещая запятые между ними (например, System.out.println (writeNum (5)); должен печатать «1, 2, 3, 4, 5, ... n "без запятой в последнем числе).
Кроме того, должно быть исключение IllegalArgumentException, если будет передано значение меньше 1.
Я пробыл на нем 2 дня, ломая голову, и я даже не могу понять, как начать. Я могу сделать факториал:
public static int factorial (int n) {
if(n == 1){
return 1;
}
System.out.println(n);
return n*factorial(n-1);
}
Проблем нет? Итак, думая об этом, я все время думаю, каков базовый вариант? Это 1? если так, то я просто отсчитываю и как-то должен отсчитывать, реорганизовывать их, перепечатывать их, а потом как-то так разобраться. Или я делаю свой базовый случай, когда n == n, что тоже не работает ... Я знаю, что, вероятно, слишком обдумываю это, но я понятия не имею, как это даже начать ... Если бы кто-нибудь мог go через это со мной шаг за шагом, чтобы понять это, я был бы искренне благодарен, поскольку я делаю это, потому что я искренне хочу изучить и понять это.