1+1/2+1/3+……+1/10(求和,用java做,for循环)

public class chengxu2{
public static void main(String[] d){
double sum=0;
for(int i=1;i<=10;i++){
sum += 1/i;
System.out.println(sum);
}
}
}大哥大姐帮忙看看到底哪错了,为什么输出的都是1.0

第1个回答  2013-12-31
把for循环中定义 i 类型改为double就可以了本回答被网友采纳
第2个回答  2013-12-31
呵呵,你这里要注意/符号是整数的求商运算,当左右都是整数的时候,得到的结果必然是整数;取商,那你看除了第一次循环外,其余的 1/i 的值不都是0吗?更改方法,把1/i;改成 1/(double)i;public class chengxu2{
public static void main(String[] d){
double sum=0;
for(int i=1;i<=10;i++){
sum += 1/(double)i;
System.out.println(sum);
}
}
}本回答被网友采纳
第3个回答  2013-12-31
斐波那契数列题而已
相似回答