思路:
这个题目和前面的阶乘相加有相似之处,都需要用中间变量来进行存放数据 我们还写出来这个题目的前几个式子,以便我们找出规律
`8*10^0
8*10^0+8*10^1
8*10^0+8*10^1+8*10^2
......`
从这三个式子我们可以看出来,第二个式子的第一项是第一个式子,第三个式子的前两项是第二个式子 ,也就是说第n个式子(这个式子有m项),前面的m-1项是上一个式子,这样我们还可以用中间变量加for循环的方法来实现这个计算。 代码实现:
package com.java_03;
/*
需求:
编写应用程序,使用for循环语句计算8+88+888+...前十项之和
思路:
这里和前面的求阶乘之和有相似之处
8
8+8*10
8+8*10+8*10*10
...
*/
public class Test04_5 {
public static void main(String[] args) {
//定义中间变量midnum,中间求和变量sum,初始值num,最终结果endnum
double midnum = 0;
double midsum = 0;
double num = 8;
double endnum = 0;
//for循环
for(int x=0; x<10; x++) {
//Math.pow(底数,指数),求次方
midnum = num*(Math.pow(10,x));
sum = sum + midnum;
endnum +=sum;
}
System.out.println(sum);
}
}
Math包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。 我们可以直接调用Math里的pow函数来实现求次方的功能。 Math.pow(double a, double b) :返回a^b,也就是a的b次方