這個(gè)while循環(huán)錯(cuò)哪了?
int sum = 0; // 保存累加值
int i = 1;
? ? ? ??
? ? ? ? while (i <= 10){
? ? ? ? ? ??
? ? ? ? ? ? if (i %2 != 0){
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? sum = sum + i;
? ? ? ? ? ??
? ? ? ? ? ? i++;
? ? ? ? }
? ? ? ??
? ? ? ? System.out.println("1到10之間的所有偶數(shù)之和為:" + sum);
2016-04-13
你設(shè)置的 i 的初始值是 1
進(jìn)入while循環(huán)時(shí), 判斷 i<=10, 為真, 所以開始循環(huán)
然后問題出在這個(gè)if, 你假設(shè)的是如果 i 對(duì) 2 求余不為 0, 則下面循環(huán)語句都不執(zhí)行, 又開始判斷while(i<=10)
這就造成了 i 一直是 1, 進(jìn)入while, 然后判斷 if, 然后 continue, 然后又進(jìn)入while...
其實(shí)改變很簡(jiǎn)單, 只要把 i 的遞增放在前面就行了
如這樣: (注意 i 從 0 開始循環(huán), 先加 1, 再判斷是奇偶, 是偶數(shù)則加到 sum 里面去)
int sum = 0; // 保存累加值
int i = 0;
while (i <= 10) {
? ?i++;
? ?if (i % 2 != 0) {
? ? ? ?continue;
? ?}
? ?sum = sum + i;
}
System.out.println("1到10之間的所有偶數(shù)之和為:" + sum);
2022-03-29
標(biāo)簽注釋是要用lt;!----gt;在HTML中是有講解的
iiswinjqxvoxmitkyzospnywnhuexrlkfsxvearkchxvaqviqaplmratdisiagoimcvqwwbztmgcaaovxhvhplnhkgdcxqmvunmxxz
2016-04-23
感謝你們的幫助
2016-04-12
int sum = 0; // 保存累加值
int i = 1; ? ? ?
? ?while (i <= 10){
? ? ? ?if (i %2 != 0){
? ? ? ? ? ? i++;
? ? ? ? ? ?continue;
? ? ? ?}
? ? ? ?i++;
? ? ? ?sum = sum + i;
? ?} ? ? ? ?
System.out.println("1到10之間的所有偶數(shù)之和為:" + sum);
2016-04-12
一直死循環(huán)了,問題出在 ?if (i%2 != 0) ?不信你加斷點(diǎn)試試,i 的值一直是1,沒有自加操作
2016-04-12
在if中應(yīng)加一句"i++",不然會(huì)造成死循環(huán)。
2016-04-12
if (i %2 !== 0)//=為賦值運(yùn)算,==才是判斷