Несколько условий в цикле while JS - PullRequest
0 голосов
/ 26 мая 2018

На самом деле я не понимаю, как это может быть неправильным кодом.
В нескольких примерах вывод вообще отсутствует, или в этом случае только "10".

var num2 = 10;
while (num2 >= 10 && num2 <= 40 && num2%2===0){
    console.log(num2);
    num2++;
}

или как это:

var num2 = 10;
while (num2 >= 10 && num2 <= 40){
    if (num2%2===0){
    console.log(num2);
    num2++;
}}

1 Ответ

0 голосов
/ 26 мая 2018

Ваш первый цикл останавливается после первой итерации, потому что 11 не является четным числом, поэтому num2%2===0 равен false.

Ваш второй цикл никогда не останавливается, потому что он только увеличивает num2, если ончетный (от 10 до 11), но 11 не является четным и поэтому num2 никогда не меняется.

Исправление:

var num2 = 10;
while (num2 >= 10 && num2 <= 40) {
    if (num2%2===0) {
        console.log(num2);
    }
    num2++;
}

Т.е. всегда увеличивать num2, но печатать только четные числа.

В качестве альтернативы:

var num2 = 10;
while (num2 >= 10 && num2 <= 40) {
    console.log(num2);
    num2 += 2;
}

Т.е. начинать с четного числа и всегда увеличивать на 2.

...