java编程运算过程解析

编程计算8+88+888+8888+…的前16项的和。(10分)
class Sum{
  public static void main(String args[]){
    double s=0,a=8;  //初始化2分
    for(int i=1;i<=16;i++){  //循环语句正确得2分,用while或do while也可
      s=s+i*a;  //累加2分
      a=a*10+8; //增量更新3分
    }  
    System.out.println("Sum="+s); //输出正确得1分
  }
这里的增量更新是怎样的?具体运算过程是怎样的?

 for循环从1开始,sum初值为0,sum+item为8,则前1项和为8 ;
  item*10=80;再加a等于88;于是从第二项开始item变88;i++,i变为2;
 i=2时,sum=8+88;item=88*10+a;a在循环中不变一直是常量8:因此第三项item=888; i++; i = 3;
 ...

累加应该是 s+=a;

i=1  a=8

i=2   a=a*10+8 = 8*10+8=88

i=3   a=a*10+8 = 88*10+8 =888

以此类推