首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

诀别用do-while和for循环计算1+1/2!+1/3!+……的前20项和

2011-11-06 
分别用do-while和for循环计算1+1/2!+1/3!+……的前20项和public class Nu {public static void main(String

分别用do-while和for循环计算1+1/2!+1/3!+……的前20项和

public class Nu {
  public static void main(String args[])
  {
int m=1,n;
float i,sum=0;
for(n=1;n<=20;n++)
{ m=m*n;
i=1/m;
sum=sum+i;
}
if(n>=20)
 
System.out.print(sum);
  }
}
我写成这个样子,可是输出为1.0,一直找不到错在哪里,高手们指教阿。

[解决办法]
i=1/m; 改为 i = 1.0F / m; 就可以了。

因为 1 和 m 是 int 类型的,只有第一次是“1”,以后 m > 1,所以 1/m 的结果是“0”。

热点排行