当前位置: 代码迷 >> J2SE >> 诀别用do-while和for循环计算1+1/2!+1/3!+……的前20项和
  详细解决方案

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

热度:383   发布时间:2016-04-24 13:24:30.0
分别用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”。
  相关解决方案