Я только начал писать рекурсивные методы. Один из моих методов для полномочий десяти дает мне недостающую ошибку типа возврата.Отсутствует ошибка возврата Ошибка
public static double powerOfTen(int n)
{
if (n == 0)
return 1;
if(n > 0)
return (10 * powerOfTen(n - 1));
if(n < 0)
return (1/powerOfTen(n - 1));
}
Я довольно новый, поэтому любое объяснение будет оценено.
////// Редактировать Это сработало для меня, для отрицательной и положительной силы десяти. Спасибо за вашу помощь: D
public static double powerOfTen(int n)
{
if(n > 0)
return (10 * powerOfTen(n - 1));
if(n < 0)
return (1/powerOfTen((-1)*(n)));
return 1;
}
Возможная ошибка в последнем 'if': не должна включать в себя' n + 1', а не 'n - 1'? – michaelb958
if (n <0) \t return (1/powerOfTen ((-1) * (n))); \t Это сработало для меня – Lsooties
Это сработало. ('(-1) * (n)' также может быть записано как '-n'.) – michaelb958