java分数问题,求高手

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:43:14
算1/2+2/3+3/4+……+18/19的值,为什么我算的结果sum是整数

public class homework1 {
public static void main(String agrs[]){
double sum=0;
int j=1;
for(int i=1 ;i<=3;i++){
sum+=(double)i/(double)j;
j++;
System.out.print("j="+j+" ");
System.out.println("i="+i);
System.out.println((double)i/(double)j);
System.out.println("sum:"+sum);
if(j==4){
break;
}
}
System.out.println("sum="+sum);
}
}

楼主仔细看一下程序,你算得是1/1+2/2+3/3

应该把 sum+=(double)i/(double)j 放到 j++ 后面吧
其实这里不用强制转换,自动转换的

同意2楼 i和j的值一直都是一样的...

类型强行的转换型的后面的有丢失吧