【发布时间】:2020-06-22 22:52:41
【问题描述】:
我正在设置以下 while 循环以继续为输入的每个偶数打印一条消息,但为奇数打印一条不同的消息并停止:
userEnteredNumber = prompt("Please enter a number:");
while (userEnteredNumber%2 === 0) {
if (userEnteredNumber%2 === 0) {
document.write(userEnteredNumber + EVEN_MESSAGE);
} else if (userEnteredNumber%2 !== 0) {
document.write(userEnteredNumber + NOT_EVEN_MESSAGE);
}
userEnteredNumber = prompt("Please enter a number:");
console.log(userEnteredNumber);
}
现在它会继续打印偶数输入,如果输入奇数则停止,但不会打印奇数消息。不太明白为什么奇怪的消息不会打印。希望有人能帮我澄清一下!
【问题讨论】:
-
因为你有 while(userEnteredNumber%2 === 0) 所以它会完全跳过整个 while 循环
-
我想做的事可能吗? IE,用偶数运行while循环,否则打印奇数消息?如果是这样,那会是什么样子?
-
我想你得问问自己,你到底想做什么?为什么不直接运行没有任何奇偶条件的while循环(例如,如果数字小于0,您可以退出循环),然后根据输入打印奇数或偶数?
-
这是 JS 类的一部分,我们正在学习 while 和 for 循环。提示是“编写一个要求用户输入偶数的程序。只要输入一个偶数,就会显示该数字,并带有“是偶数”的短语。当用户输入奇数时,输出带有短语“不是偶数”的数字并结束程序。”我认为可以将 if/else 嵌套到 while 循环中。
-
ok.. 结束while循环,你可以使用break; ex sn-p: while(true){if(even){write even}elseif(odd){write odd;休息;}
标签: javascript if-statement while-loop