问题一:不懂什么是NaN问题二:下面的代码输出为false,真的让我很莫名其妙!!
public class Test{
public static void main(String []a){
if(Double.NaN == Double.NaN){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
public class Test{
public static void main(String []a){
if(Double.NaN == Double.NaN){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
解决方案 »
- 为什么这个会抛出异常呢
- 自己写的排列和组合算法, 欢迎指证
- 出现NoClassDefFoundError错误,能够编译,但是运行时出错是怎么回事呢?谢谢
- 问一个转码的问题?
- 这个难吗???如何将一个字符串转化成一个唯一整数?
- 刚开始学习java,有个错误不知道怎么回事
- UP有分!!!!!!!JSWDK、JWSDP、J2EESDK三者什么关系啊,学一个JSP怎么就这么难啊?
- 个简单的applet问题,我用javac 编译后,我用IE看不到结果
- 同一个程序里swing下定义的jframe怎么添加awt下定义的panel?
- URLConnection 问题?请熟悉的一定帮忙!
- 定时器的问题
- JAVA RSA 为什么密钥一样,加密出来的数据不一样呢
哎哟 哥哥 这个东西到哪里都是一样的意思哇 虽然java没有undefined
引用:这样比较肯定是不行的。
NEGATIVE_INFINITY、POSITIVE_INFINITY、NaN只是一个固定的标志值NaN不是一个数,所以用<,<=,>,>=,==比较时,只要有一个是NaN,比较结果总是false,包括NaN==NaN。用!=比较时只要有一个是NaN,比较结果总是true,包括NaN!=NaN。 出现这种情况有
(1)此常数的值是零被零除所得到的结果。 (2)当运算结果未定义时返回此常数。