为什么在循环的最后一步中没有显示输出?

时间:2019-06-23 07:23:34

标签: javascript while-loop

我写了一个代码,该代码在1到20之间循环。如果数字可被3整除,它将输出'Julia'。如果数字可以被5整除,则打印“ James”。如果数字可被15整除,则将打印“ Julia-James”。但是在最后一个数字20中,输出不是数字“ James”。

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的输出是“ James”。但是实际输出是数字本身。

3 个答案:

答案 0 :(得分:1)

当x = 20时它将中断循环,因此对于x = 20不会执行。另外,由于最后一行console.log(x);,它给出20的输出,请在下面的正确代码中查找。< / p>

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++;
}

答案 1 :(得分:0)

您的循环遍历所有严格小于20的数字。您检查的最后一个数字为19,不能被35整除。您应修复循环条件,使其包含20

while (x <= 20) {
// Here --^

答案 2 :(得分:0)

在x = 19的末尾,您将得到19本身,您需要使用x <= 20(正确的条件)。

while(x<=20){
  // body
}