黑马程序员技术交流社区

标题: 错误分析 [打印本页]

作者: 岩霸天下    时间: 2019-2-27 17:17
标题: 错误分析
本帖最后由 岩霸天下 于 2019-2-27 17:19 编辑

创建[size=10.5000pt]人
赵岩
问题标题
打印1-100之间的偶数和,输出结果。
问题分类
通过javac命令编译不会报错,打印的最终结果不正确。
一级话题
最终的打印结果是
0
2
0
4
0
6
0
8
...
100
问题补充
[size=12.0000pt]
附件
public class Test {
        public static void main(String[] args) {               
                // for循环产生1-100之间的数字
                for (int i = 1; i <= 100; i++) {
                        // 定义求和变量
                        int sum = 0;
                        // 判断i的值是否是偶数
                        if (i % 2 == 0) {
                                // 是偶数, 累加到sum
                                sum += i;
                        }
                        System.out.println(sum);  // 2550
                }       
        }       
}
问题答案
问题分析:
求和应该在for循环外面初始化一个int类型的变量sum,记录求和的结果,并在for循环结束后打印最后的结果。学员的打印出现了多行,肯定是打印语句放在了for循环中,而且结果没有累加,应该是sum变量定义的位置错误。
问题解决方法:
报错行修改为:
在for循环外面定义变量int sum = 0;去掉循环里边的变量;
打印输出语句必须放到for循环外边






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2