qq_窝是帅气小阳_0
2018-03-15 13: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 );
}
}
em
点错了回答出去了 if语句没带括号
do{ if (i%2==0) { sum =sum+i; i += 2; } } while ( num <51 );
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 );
首先,if括号里应该是布尔式,也就是能判断对错的,而你的是附值;其次,i 没有自增,死循环;第三,你这个程序每循环一次,就输出一次,应该把输出语句放到循环体外。
循环条件写错了,if(i%2==0){sum+=i};i++
if()是进行判断的语句,括号内是布尔式,所以应该是if((i / 2 - i % 2) == 0)
Java入门第一季(IDEA工具)升级版
1165601 学习 · 17587 问题
相似问题
回答 3
回答 6
回答 3
回答 3
回答 3