题目是用for语句求出8+88+888+8888...前10项之和~我写的答案是:
for(i=80;i<=8000000000;i=t)
{
    sum=8;
    sum1=8;
    sum1=i+sum1;
    t=i*10;
    sum=sum+sum1;
}
这样写,也能算出答案~但我想一定是错误的~从for的第2个表达式就可以看出是错的~如果让求前100项,那得写99个0~~所以肯定不对
正确的应该是怎么着呢~谢谢

解决方案 »

  1.   

    现在是10项呀~
    long sum=0,total=0;
    for(int i=1;i<=10;i++)
    {
        sum=sum*10+8;
        total+=sum;
    }
      

  2.   

    public class ForClass
    {
    public static void main(String args[])

    Long temp = 0L;
    String num = "8";

    for(int i = 0; i < 10; i++)

    temp += Long.parseLong(num);
    num += "8";
    }
    System.out.println(temp);
    }
    }
      

  3.   

    可以用这样的循环,转换一个数字。
        int sum = 0;
        int num1;
        num1 = 0;
        for(int i = 1;i <=10;i++){
            num1 = num1*10+8;
            sum +=num1;
        }
    应该可以吧。