Java为有限和提供无穷大

时间:2016-05-09 21:01:09

标签: java for-loop math

我对Java很新,但已经用它完成了一些Android编程。

现在我想用

来总结一个系列
for (int i=1; i<=n; i++)
    {
        sum = sum + (float) 1/(i*i);
    }

无限级数和是有限的,但超过大约50,000个左右,总和给出了&#34;无穷大&#34;。只要我不接受太多的条款,该系列看起来就像预期的那样融合。

这里的数据结构是否存在问题,或者我缺少什么。

1 个答案:

答案 0 :(得分:6)

一个问题是D:/会受到整数溢出的影响。

特别是,当org.joda.time (即65536),DateTime Period 溢出为0.而i * i的结果在Java中为i = 2^16

如果您将i*i = 2^32声明为1f / 0,您将更接近您的期望。如果你想要更好的精度,你可以使用双倍。