【发布时间】:2014-12-14 05:39:36
【问题描述】:
double 可以代表的最高数字非常高,我想。
尽管以下代码引发了异常。这实际上是我的完整代码。
public class Summe {
public static void main(String[] args) {
System.out.println(summe(20000));
}
public static double summe(double s) {
return s == 0 ? s : s + summe(s-1);
}
}
感谢到目前为止的回答。我的问题是:我怎样才能使我的代码工作?
【问题讨论】:
-
双精度范围与此无关。你反复调用
summe20k 次溢出堆栈。另外...您的实际问题是什么? -
你认为
summe在返回之前被调用了多少次? -
不要对双精度进行相等检查。
-
我认为 summe 被调用了大约 20000 次。堆栈的极限在哪里?
标签: java function double stack-overflow