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

为什么我执行i%2==0和i%2==1时,运行结果都是55?

public class HelloWorld {

    public static void main(String[] args) {


int sum = 0; // 保存累加值


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


// 如果i为奇数,结束本次循环,进行下一次循环

if (  i%2==1       ) {

}


sum = sum + i;

}


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



正在回答

9 回答

http://img1.sycdn.imooc.com//5eabaaf60001e69a14210605.jpg把if语句里面的条件中求余值1改为0。

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

你少了 continue

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

如果按注释应该真写:

		int sum = 0; // 保存累加值		for (int i = 1; i <= 10; i++) {			// 如果i为奇数,结束本次循环,进行下一次循环			if ( i%2!=0       ) 			{				continue ;			}			sum = sum + i;		}		System.out.print("1到10之间的所有偶数的和为:" + sum);


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

慕斯卡3505863

他continue没写进代码里面
2020-03-26 回复 有任何疑惑可以回复我~

偶数直接加,注释没改

0 回复 有任何疑惑可以回复我~
按你的思路应该这么写:		int sum = 0; // 保存累加值		for (int i = 1; i <= 10; i++) {		// 如果i为奇数,结束本次循环,进行下一次循环		if (  i%2==0       ) 		{			sum = sum + i;		}		 		}		System.out.print("1到10之间的所有偶数的和为:" + sum);


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

if条件语句中的执行语句哪去了?

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

程序中0代表假   1代表真
因为i%2的值不是1就是0(这个很重要,就可以用它代表真和假了)
真是因为这种巧合就没有必要写==1之类的了。都是一个效果。

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

Mr沐阳

麻烦回答问题前自己先弄明白了,自己尴尬还误导别人,,,,,,,, java和C不一样,Boolean类型只有 true 和 false,不能用 0 、1 代替 而且这地方0 和1 明显是运算值,,你好好再看看 % 运算吧
2020-03-06 回复 有任何疑惑可以回复我~

大括号的问题  把sum=sum+i放到if的括号里面。

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

举报

0/150
提交
取消

为什么我执行i%2==0和i%2==1时,运行结果都是55?

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