-2
我正在制作一个猴子爬树的程序。为什么程序抛出StackOverflowError?
10英尺需要10分钟。他倒退3分钟并休息10分钟。
我写的代码当我在纸上追踪它时,我认为它工作,但是当我运行程序时返回堆栈溢出。
*编辑 - 好吧所以不知何故我不再得到堆栈溢出,但我没有得到我需要的结果。无论poleHeight如何,它都会打印30。我试图追踪它,但我不知道我在哪里犯了一个错误。
for poleHeight = 18;
static double climbTime(double poleHeight){
double time = 0.0;
double t = 10.0;
double climbed = 7.0;
//base case
if(poleHeight <= 10.0){
time = poleHeight;
}
else{
poleHeight = poleHeight - climbed;
t = t + 10.0;
climbTime(poleHeight);
}
return (time + t + 10.0);
}
什么是你的问题? –
你测试了哪些数字?你必须使用一个非常大的数字来'poleHeight'来得到一个'StackOverflowError'。 –
抛出异常,不返回。 – EJP