-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