哪里有问题?
int i=1; int sum=0; do { if (i%2==0) { sum=i+sum; }else { i++; } }while(i<=50); System.out.println(" 50以内的偶数之和为:" + sum ); 哪里有问题?
int i=1; int sum=0; do { if (i%2==0) { sum=i+sum; }else { i++; } }while(i<=50); System.out.println(" 50以内的偶数之和为:" + sum ); 哪里有问题?
2018-03-18
do 里面语句: i =1 执行了else i++ 此时i为2 ,符合了while的条件 ,继续执行do里面语句。 2 % 2 == 0 成立,执行sum=i + sum 即 sum = 2 + 0 ,sum = 2 ,i = 2;此时仍然符合while的条件。 那么接着执行 do里面语句,2 % 2 == 0成立, sum = 2 + 2 , sum = 4 , i = 2 ; 又符合while的条件,那么接着执行 do里面语句,2 % 2 == 0成立, sum = 4 +2 , sum= 6 , i = 2 ;又符合while的条件,那么接着执行 do里面语句.......你这是个死循环,看懂了么
举报