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

正在回答

6 回答

public class HelloWorld {

    public static void main(String[] args) {

int sum = 0; 

int num = 2;

do {

if(num%2==0){

sum+=num;

num = num + 2;

 }

} while (  num<=50  ); 

System.out.println(" 50以内的偶数之和为:" + sum );

}

}


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

忘记过去丶

这种do...while语句用if条件不是找麻烦吗,while用还可已解决多个数输出的问题。这个就输出一个结果,并不需要if语句!
2018-08-14 回复 有任何疑惑可以回复我~

em

   点错了回答出去了  if语句没带括号 

do{

   if (i%2==0)
       {
       sum =sum+i; 
       i += 2;
       } 
   }
   while ( num <51   );

     


0 回复 有任何疑惑可以回复我~
if  ((i/2-i%2)=0){   #等号是赋值语句,想表达等于号应该用 ==;
                     #i/2 - i%2 ==0    if语句内正确表述为 i%2==0 ,i除以2取余等于0,是保证i为偶数
    sum=sum+i;       #  sum和i 初始值都是零 且后续语句中i的值并没有变化   sum= 0+0无限循环
                  }  # 题目是50之内偶数相加 即在循环中 sum=2+4+6+...+50 可以通过i自增来表达50以内偶数 
                     #具体表达 i+=2;
                     
                     

        do{
            if (i%2==0)
            sum =sum+i; 
            i += 2; 
        }
         while ( num <51   );


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

首先,if括号里应该是布尔式,也就是能判断对错的,而你的是附值;其次,i 没有自增,死循环;第三,你这个程序每循环一次,就输出一次,应该把输出语句放到循环体外。

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

循环条件写错了,if(i%2==0){sum+=i};i++

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

if()是进行判断的语句,括号内是布尔式,所以应该是if((i / 2 - i % 2) == 0)

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

举报

0/150
提交
取消

我用if语句为什么做不出来不

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