A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 岩霸天下 中级黑马   /  2019-2-27 17:17  /  463 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 岩霸天下 于 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循环外边

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马