【发布时间】:2014-02-01 13:20:54
【问题描述】:
我知道当变量为正零或负零时,Math.log() 的结果将是负无穷大。现在我的问题是为什么这段代码返回负无穷大?!
System.out.println((0.5 / Math.log(3600)* Math.log(9 / 60)+ 0.5);
但是当我使用
System.out.println((0.5 / Math.log(3600)* Math.log(0.15)+ 0.5);
答案是正确的。是什么导致了这个问题,我该如何解决?!
【问题讨论】:
-
System.out.println(9/60); -
返回 0 值!!为什么?!!!
-
int 除以 int,尝试制作 9.0/60,它应该可以工作
-
因为 Java 中的
int / int进行整数除法 (JLS §15.17 "Multiplicative operators"),而不是浮点数。至少有一个参数必须是float或double才能进行 FP 除法。