本帖最后由 乔青山 于 2014-2-12 10:52 编辑
double b =Math.random()*3;
if(b!=0){
double i = 1/b;
System.out.println(i);
System.out.println(b);
}else{
System.out.println("ArithmeticException");
}
这个程序输出的是正常的浮点数。
但是我把他改成这样:
int b = (int)(Math.random()*3);
if(b!=0){
double i = 1/b;
System.out.println(i);
System.out.println(b);
}else{
System.out.println("ArithmeticException");
}
当b随机为2的时候,输出的i是0.0
我想问一下这是为什么,1/2不应该得到0.5嘛,为什么输出的结果是0.0呢?
|