我遇到了以下錯誤:StackOverflowError在Java中意味着什麼?它的修復是什麼?
Exception in thread "main" java.lang.StackOverflowError
at Account.draw(Account.java:47)
這是代碼的相關章節:
public double draw(double c) {
if (c > 0) {
return c;
} else if (c < 0 && c > AccBalance) {
AccBalance=-c;
return AccBalance;
}
return draw(c);
}
我怎樣才能解決這個問題?
這意味着你已經遞歸太深,有[堆棧中的運行空間(http://en.wikipedia.org /維基/ STACK_OVERFLOW)。 – thegrinner
好,那我該如何解決? –
這意味着你的'if'或'else'塊都不會被執行,並且'draw(c)'被遞歸地,無限地調用。 – GriffeyDog