gpt4 book ai didi

java - 尝试在 java 中使用递归创建指数计算器时出现堆栈溢出错误

转载 作者:行者123 更新时间:2023-12-02 09:26:39 27 4
gpt4 key购买 nike

我正在尝试制作一个简单的计算器来练习递归。这是我的代码,我收到堆栈溢出错误。我不一定关心使这项工作有效的代码,因为我想自己弄清楚,但我不确定为什么会出现堆栈溢出错误。

在我的 main 中声明:

int base=3,exponent=4;

我的指数方法:

static int powerN(int base, int n) 
{
if ( n == 0 ) return 0;
return base * powerN (1, n-(n-1));

}

最佳答案

我发现你至少有三个错误。 x0 是一(不是零)。您应该处理 x1(即 x)的情况。而且,当你递归时,你想要传递 basen - 1 (就像你在 1 的幂上递归一样 - 它永远是 1)。就像,

static int powerN(int base, int n) {
if (n == 0) {
return 1;
} else if (n == 1) {
return base;
}
return base * powerN(base, n - 1);
}

关于java - 尝试在 java 中使用递归创建指数计算器时出现堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com