如果i为int类型,
那么i/1得到的结果总是int类型
所以投影为double也没有用处
比如int b = 1/2;
b等于0
但是double b = 1/2.0
b等于0.5
你看到其中的区别了吗
int之间的计算得到还是int
int和double之间的计算得到就是double了

解决方案 »

  1.   

    不好意思,没看到“()”,呵呵。double)(1/i) 是先做(1/i),都是整数时,结果取整数,比如(1/2)=0,然后再转化为double类型,即0.0;而1/(double)i则是整数除以浮点数,结果取浮点数,即 (1/(double)2)=0.5。
      

  2.   

    啊,java很难啊,看来前进一步都要花很大力气的。
    明白了
    加菲猫是高手啊。谢谢!!!