【发布时间】:2020-02-06 07:26:12
【问题描述】:
我正在尝试制作一个简单的计算器来练习递归。这是我的代码,我收到堆栈溢出错误。我不一定关心使这项工作的代码,因为我想自己弄清楚,但我不确定为什么我会为此收到堆栈溢出错误。
在我的主要声明中:
int base=3,exponent=4;
我的指数法:
static int powerN(int base, int n)
{
if ( n == 0 ) return 0;
return base * powerN (1, n-(n-1));
}
【问题讨论】:
-
除非
n开始时为零,否则n-(n-1)将始终为1;你永远不会满足n==0的基本情况,只是永远称呼自己,直到......堆栈溢出!你确定你不想要n-1而不是n-(n-1)?
标签: java recursion stack overflow