我写了一个代码,该代码在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”。但是实际输出是数字本身。
答案 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,不能被3
或5
整除。您应修复循环条件,使其包含20
:
while (x <= 20) {
// Here --^
答案 2 :(得分:0)
在x = 19的末尾,您将得到19本身,您需要使用x <= 20(正确的条件)。
while(x<=20){
// body
}