不显示删除回复显示所有回复显示星级回复显示得分回复 使用while循环语句计算1+1/2!+1/3!+...1/20!之和
不明白a = a*(1.0/i);这行代码public class Example_02 {    
  public static void main(String args[])
    {            
      double sum = 0,a = 1;
      int i = 1;
      while(i <= 20)
      {
          sum = sum+a;
          i = i+1;
          a = a*(1.0/i);
      }
      System.out.println(sum);
    }
}

解决方案 »

  1.   

    a = a*(1.0/i);是累积啊 就跟sum = sum+a;是累和一样  你带几个数字进去就能体会到了
      

  2.   

    你好:计算1+1/2!+1/3!+...1/20!
    如果不用 a = a*(1.0/i)的话,你想啊1/2!在Java中结果是零,要得到正确结果用1.0/2!才能得到小数值
      

  3.   

    不得不说这个程序写的很好,把两个循环用一个循环代替。楼主你试着把每一步循环的结果写一下看一下,相信你能看的懂a = a*(1.0/i);这行代码,整个程序的精锐就是这一行。
    当i=2时,sum=1+1/(1*2),a=1/(1*2);
    当i=3时,sum=1+1/(1*2)+1/(1*2*3),a=(1*2*3);
    .......
    明白了吧?