int sumPlus = 0; //存储最终总和值 for(int i = 1 ;i<=10;i++){ int sum = 1; //存储每个数阶乘的值 for(int num = i ;num>=1;num--){ sum *= num; //sum = sum*num,计算每个数阶乘的值 } System.out.println(sum); //输出每个数阶层的值、验证 sumPlus += sum; //计算总和 } System.out.println(sumPlus);
学习完for循环实现的小习题
代码如上
思路:
首先想到需要俩个循环结构,由1到10,以及阶乘的循环,所以先立好主要的结构
for(int i = 1 ;i<=10;i++){ } for(int num = i ;num>=1;num--){ }
再往里添加细节
1.计算出每个阶乘的值
2.每个阶乘的值相加
第一个问题:通过在第二个for循环中添加循环体
sum *= num; 实现。
而在第一层循环中需要定义出
int sum=1;
sum用来储存每个阶乘的值,并且在每次循环下重新将sum赋值为1。
第二个问题:通过sumPlus += sum; 循环体接收并计算每次sum的值,最后进行输出。
总结:
解题思路很重要!在动手之前最好先想清楚在开始可以事半功倍。
最开始完成时有许多不必要的变量,经过完善、修改才变成最后的样子。
其中sum开始在循环体之外,后验证结果不正确,在这块地方卡了挺久,最后才反应过来,需要在每次循环时候需要对sum进行一次初始化,才完成习题