黑马程序员技术交流社区

标题: 有点绕,喜欢动脑筋的同学可以做一下下 [打印本页]

作者: 渴望学习    时间: 2014-7-29 15:08
标题: 有点绕,喜欢动脑筋的同学可以做一下下
4.以下代码输出是(D )
class Demo {
        public static void main(String[] args) {
                int i = 0;
                int sum = 0;
                while (i <= 10) {
                        i++;
                        if (i % 2 != 0)
                                continue;
                        sum += i;

                }
                System.out.println(sum);
        }
}
A.  55
B.  45
C.  35
D.  30
把你的答案写出来,我会回复!
作者: 黎志勇    时间: 2014-7-29 15:19
if (i % 2 != 0)
    continue;

看到这里,就能知道答案了,跳过奇数,结果一定是偶数。D


作者: hmid    时间: 2014-7-29 15:20
就是打印0到10之间的偶数只和啊。0 2 4 6 8 10想加的30
作者: baiiiu    时间: 2014-7-29 15:33
1到10相加才55,都去了一半了
作者: 王乐乐    时间: 2014-7-29 16:39
D 答案很明显嘛!把10以内所有的基数排除,偶数相加!2+4+6+8+10=30
作者: 双双    时间: 2014-7-29 16:43
黎志勇 发表于 2014-7-29 15:19
if (i % 2 != 0)
    continue;

你这回答精炼
作者: a6511631    时间: 2014-7-29 16:47
不喜欢动脑筋,我才不写出我copy到Eclipse中,控制台给的答案是D 30呢
作者: huanhuan    时间: 2014-7-29 17:02
这是一道while循环语句的问题:(1)定义了两个整形变量,并设初始值为0;(2)当i<=10满足条件时执行i++;如果i/2!=0,执行continue语句,i++;否则执行sum+=i;(3)当i=0时满足i<=10,则i=1,因为i=1不满足模2为0,所以执行continue语句,则i=2;满足模2为0,则sum=0+2=2;然后i=3,依次类推,可知只有当i为偶数时,才执行sum+=i;故sum=0+2+...+10=30.
作者: Ezreal    时间: 2014-7-29 17:04
路过路过
作者: 微小宝    时间: 2014-7-29 17:50
飘过!!
作者: 魏龙爽    时间: 2014-7-29 18:23
都是高手
作者: 席杰    时间: 2014-7-29 19:05
黎志勇 发表于 2014-7-29 15:19
if (i % 2 != 0)
    continue;

精辟,怪不得是高级黑马
作者: endian11    时间: 2014-7-29 19:40
答案是30
作者: 李大壮    时间: 2014-7-29 20:01
30.取偶数吧
作者: 你好吗    时间: 2014-7-29 23:26
偶数相加,大家都写出答案了




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