为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕码人8056858 2023-10-12 14:55:36
我正在尝试制作一个简单的计算器来练习递归。这是我的代码,我收到堆栈溢出错误。我不一定关心使这项工作有效的代码,因为我想自己弄清楚,但我不确定为什么会出现堆栈溢出错误。在我的 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));}
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我可以看到你至少有三个错误。x 0是一(不是零)。您应该处理 x 1(即 x)的情况。而且,当你递归时,你想要传递baseand n - 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);

}


查看完整回答
反对 回复 2023-10-12
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信