i是 int型的,可是double a = (double)(1 / i )结构是0.0而double a = (double)1 / i 结果确是正确的 搞不懂耶
追答int i = 2
double a = (double)(1 / i );
double b= (double)1 / i ;
System.out.println(a);
System.out.println(b);
结果是
0.0
0.5
怪不得你会出这个错,如果i比1大,那么(1 / i) 结果如果是整型,则会取下限为 0(只取整数位) ;另一个计算方式则是doubule,所以是0.5
谢谢你!明白了