我刚刚开始编写递归方法。我的十次方方法之一是给我一个缺少的返回类型错误。

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;

}

最佳答案

尝试:

public static double powerOfTen(int n)
{
 if(n > 0)
  return (10 * powerOfTen(n - 1));

 if(n < 0)
  return (1 / powerOfTen(n - 1));

  return 1;
}

编译器认为它不能保证总是有返回值,因为所有返回值都在if语句中。这样做可以消除困惑

关于java - 缺少返回语句错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16351562/

10-10 17:24