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

这个程序到底哪里出了问题。。。

这个程序到底哪里出了问题。。。

qq_82年的彬锅锅_03446807 2016-06-11 21:53:12
package com.imooc;public class HelloWorld{ public static void main(String[] args){ int sum=0; int i=1; do { if(i%2==0);{ sum=sum+i; i++;} }while(i<=50); System.out.println("50内的偶数和:"+sum); } }
查看完整描述

3 回答

已采纳
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

public class HelloWorld {
	public static void main(String[] args) {
		int sum = 0;
		int i = 1;
		do {
			if (i % 2 == 0)
			{
				sum = sum + i;
			}
			i++;
		} while (i <= 50);
		System.out.println("50内的偶数和:" + sum);
	}
}

主要是把 i++ 放到括号 {} 的外面。

查看完整回答
1 反对 回复 2016-06-11
?
qq_82年的彬锅锅_03446807

TA贡献4条经验 获得超0个赞

你是说i=1用空格起来

查看完整回答
反对 回复 2016-06-12
?
qq_狼神_03279945

TA贡献4条经验 获得超0个赞

有两个错误。

第一个错误是,你if判断语句的判断执行条件后面有一个分号,虽然编辑器不报错,但结果是错的。

第二个错误是,你把i++放进了if判断语句中。想像一下,如果i % 2 != 0的话,那么就不会执行i自加1,也就是说i的值不会变,那么会一直执行下去这个do```while循环,形成死循环。

还有一点,为了让程序看起来条理清晰,我们一般把i=1;写成i = 1;当然,你不这样写也没关系。

修改之后的代码:

package demo;
public class HelloWorld{
public static void main(String[] args){
   int sum = 0;
   int i = 1;
   do {
     if(i % 2 == 0){
        sum=sum+i;
        }
     i++;
}while(i<=50);
System.out.println("50内的偶数和:"+sum);
}
}


查看完整回答
反对 回复 2016-06-12
  • 3 回答
  • 0 关注
  • 1377 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信