为了账号安全,请及时绑定邮箱和手机立即绑定

关于sum=sum+i放置的问题,求解答 如下有两张图。拜托拜托

package com.tang;


public class touPiao {

public static void main(String[] args){

int sum=0;

for(int i=1;i<=10;i++){

if(i%2!=0){

continue;

}sum=sum+i;

}System.out.println("1到10之间所有的偶数之和:"+sum);

}

}

  

package com.tang;


public class touPiao {

public static void main(String[] args){

int sum=0;

for(int i=1;i<=10;i++){

sum=sum+i;

if(i%2!=0){

continue;

}

}System.out.println("1到10之间所有的偶数之和:"+sum);

}

}


正在回答

5 回答

我debug了一下,明白了。你的判断语句的意思是,当i为奇数,那么就执行continue;语句,不再往下面执行了,重新开始循环语句,这时候i=i+1;而sum=sum+1;没有执行,被跳过了。当偶数时,执行sum=sum+1;所以上面那个是对的。下面的那一段,先执行了sum=sum+1;再执行判断,没有意义,所有的数都被加了一遍。

0 回复 有任何疑惑可以回复我~
#1

qq_壁虎大魔王_0 提问者

因为我是求1到10之间的偶数和,所以我设了一个跳转Ccntinue在奇数的时候就不跳过不计算只计算偶数的。。之前不懂得是这个 sum=sum+i的放置问题,后来想了半天发现都是逻辑顺序问题,他运行都是从上到下依次来的。可能是题目是需要这样一步一步的来, 表示刚学这个头好大有的时候 。。 谢谢你的解答
2016-12-17 回复 有任何疑惑可以回复我~

下面那段会输出所有的值。if的判断是没有意义的。因为你sum=sum+i是在for的循环之内而不是在if的判断内

0 回复 有任何疑惑可以回复我~

你下面的那个程序,if语句已经没有任何作用了。要不要得到结果都是1到10之间所有数这和

0 回复 有任何疑惑可以回复我~

我运行if( i%2==0){ sum=sum+i; }是对的,不过我把continue删掉了。

0 回复 有任何疑惑可以回复我~

sum=sum+i;应该放置在if(i%2=0){   }大括号内。你的if语句判断条件写错了,应该是if(i%2=0),才能求偶数的和啊。

0 回复 有任何疑惑可以回复我~
#1

qq_壁虎大魔王_0 提问者

哥们你这个就错了,我这个是对的,只是不知道为什么来由,放在IF里面是不可以的,你可以去运行一下
2016-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于sum=sum+i放置的问题,求解答 如下有两张图。拜托拜托

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信