為什么這樣寫結(jié)果會(huì)變成三呢?
for (int i = 1; i<=100;i++) {
if (i % 3 != 0) {?
sum = sum + i; // 累加求和
}}
System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);
這樣寫答案是正確的,但是如果將i區(qū)域放到for中(下面那樣),為什么答案就變成3了呢?
int sum = 0;?
for (int i = 1; i<=100&&i%3!=0;i++) {
????sum = sum + i; // 累加求和
}
System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);
2017-03-06
當(dāng) i = 3;
即不滿足執(zhí)行條件,i % 3!=0這個(gè)條件時(shí)。
代碼結(jié)束,跳出循環(huán),所以sum的值為1+2=3
2017-03-06
你沒有理清楚for循環(huán)的執(zhí)行過程吧,拿你第二個(gè)for循環(huán)來說,中間的i<=100&&i%3!=0是循環(huán)條件,一旦不滿足就會(huì)終止循環(huán),這個(gè)循環(huán)與上面那個(gè)的區(qū)別也就是多了一個(gè)i%3!=0,很明顯的,當(dāng)i遞增到3的時(shí)候,就不能滿足循環(huán)條件了,所以sum只會(huì)做兩次自增,分別+1, +2。
2017-03-06
i<=100&&i%3!=0?? i=3的時(shí)候? i%3=0條件不滿足,自動(dòng)退出循環(huán)。
2017-03-06
不用解答啦~找到毛病了。