Math.pow(27,1/3)与Math.pow(27,0)的返回值是一样的,因为1/3 == 0改用Math.pow(27,1F/3)可以得到正确结果

解决方案 »

  1.   

    不是那么回事,
    这和C语言是一样的
    在C中1/3表示是整除,得到商,1%3得到的是余数。
    但是2个数必须都是整数。
    如果有一个不是则表示是正常的除法了。
    比如
    int a=1;
    int b=2;
    float c;
    c=(float)a/b;
    c=a/(float)b;
    都能得到正确结果。
    当然,上面是C中的写法。
    在JAVA中也差不多,我习惯C了。
    呵呵。
      

  2.   

    JAVA是严格的语言:文字数据的缺省类型是int,所以1/3中的1和3 都是int,int的除法结果只能是int,即0,如果写成1.0 / 3或1 / 3.0即可,因为1.0缺省类型是Double,JAVA要 比C严格的多,有时候习惯不一定是好的,比如睡懒觉,哈哈