【发布时间】:2012-11-08 02:35:53
【问题描述】:
{
System.out.println (base + " to the " + i + " power = " +
power(base, i));
}
public static double power(double baseNum, int exp)
{
if (exp == 0)
return 1;
else
return baseNum * power(baseNum, --exp);
}
快速提问,上面称为“power”的方法在返回“1”时会以某种方式返回答案。因此,如果我传递参数来计算 2 ^ 5,RETURN 1 会以某种方式变成 32.0。这里到底发生了什么? “1”怎么变成32.0?
【问题讨论】:
-
此处解释:pastebin.com/raw.php?i=dHTnSPuY(也在我的回答中)
-
函数有时返回 1,有时返回另一个表达式。实际上,它只返回 1 一次;每隔一次它返回另一个表达式。