- Java中的无穷大值

And*_*rew 0 java

我正在尝试总计561个日志.
他们看起来像这样:

-7.314254939475686
-7.656004233197743
-4.816276208120333
-8.426112454893817
-4.771824445549499
-9.34240318676797  
Run Code Online (Sandbox Code Playgroud)

所以他们不是大数字.但是,当我继续总结它们时,我得到了这个:

-2668.179647264475
-2674.7747795369874
-2679.18920466334
-2683.9724816026214
-2690.3342661536453
-Infinity
-Infinity  
Run Code Online (Sandbox Code Playgroud)

执行此操作的代码是:

double probspam=0;

for(int j=0;j<words.size();j++)
{
    probspam+= Math.log(spam.getClassProbability(words.get(j)));

}  
Run Code Online (Sandbox Code Playgroud)

您是否知道如何解决-Infinity问题及其发生的原因?谢谢

Aar*_*lla 10

对于某些值,spam.getClassProbability()返回0.0:请参阅文档:

如果参数为正零或负零,则结果为负无穷大.