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

来源:4-8 Java循环语句之 do...while

qq_窝是帅气小阳_0

2018-03-15 13:01

这个为什么一直报错

http://img3.mukewang.com/5aa9fdf300015e2603390255.jpg

写回答 关注

6回答

  • 忘记过去丶
    2018-08-14 19:36:01

    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 );

    }

    }


    忘记过去丶

    这种do...while语句用if条件不是找麻烦吗,while用还可已解决多个数输出的问题。这个就输出一个结果,并不需要if语句!

    2018-08-14 19:49:37

    共 1 条回复 >

  • Scorp_
    2018-04-21 16:23:58

    em

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

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

         


  • Scorp_
    2018-04-21 16:21:03
    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   );


  • 慕侠228389
    2018-04-12 19:07:27

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

  • 丶stone丶
    2018-03-19 10:53:33

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

  • Gunship
    2018-03-15 13:15:28

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

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165601 学习 · 17587 问题

查看课程

相似问题