Почему выходные данные не отображаются на последнем этапе цикла? - PullRequest
0 голосов
/ 23 июня 2019

Я написал код, который перебирает числа от 1 до 20. Если число делится на 3, оно печатает «Джулия». Если число делится на 5, оно печатает «Джеймс». И если число делится на 15, оно печатает «Джулия-Джеймс». Но в последнем номере 20 выходной номер не «Джеймс».

var x = 1;
while (x < 20) {
    x % 15 === 0 ? console.log('Julia-James') : x % 5 === 0 ? console.log('James') : x % 3 === 0 ? console.log('Julia') : console.log(x);
    x++;
}
console.log(x);

Я ожидаю, что результат 20 будет «Джеймс». Но фактическим выходом является само число.

Ответы [ 3 ]

1 голос
/ 23 июня 2019

Он прервет цикл, когда x = 20, поэтому он не будет выполняться при x = 20. Также он дает 20, как положено из-за последней строки console.log(x); Пожалуйста, найдите правильный код.

var x = 1;
while (x <= 20) {
  x % 15 === 0 ? console.log('Julia-James') : x % 5 === 0 ? console.log('James') : x % 3 === 0 ? console.log('Julia') : console.log(x);
  x++;
}
0 голосов
/ 23 июня 2019

В конце x = 19, тогда вы получите 19, вам нужно использовать x <= 20 (правильное условие). </p>

while(x<=20){
  // body
}
0 голосов
/ 23 июня 2019

Ваш цикл перебирает все числа, которые строго меньше 20. Последнее проверенное вами число - 19, которое не делится ни на 3, ни на 5.Вы должны исправить условие цикла, включив в него 20:

while (x <= 20) {
// Here --^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...