【发布时间】:2020-09-15 04:04:49
【问题描述】:
我遇到了这个问题:编写一个程序,使用 console.log 打印从 1 到 100 的所有数字,但有两个例外。对于可被 3 整除的数字,打印“Fizz”而不是数字,对于可被 5(而不是 3)整除的数字,打印“Buzz”。当你有这个工作时,修改你的程序,为可以被 3 和 5 整除的数字打印“FizzBuzz”(对于只能被其中一个整除的数字,仍然打印“Fizz”或“Buzz”)。
我尝试用下面的代码解决它:
for(let i = 1; i <= 100; i++){
if(i % 3 ===0) {
console.log("fizz");
} else if ( i % 5 === 0 ) {
console.log("buzz");
} else if (i % 5 === 0 && i % 3 === 0) {
console.log("fizzbuzz");
}
console.log(i);
}
谁能告诉我我做错了什么,因为我没有得到结果
【问题讨论】:
-
FizzBuzz 问题的要点是,前两个条件是互斥的,而第三个则不是。所以
ifs 的顺序很重要。 -
另外,您说您需要为可被 3 和 5 整除的数字打印 FizzBuzz,但如果该数字可被 3 整除,您的 if 条件将评估为 true 或 5,因此您应该将最后一个 if 更改为:
if (i % 5 === 0 && i % 3 === 0),但首先更改 if 语句的顺序,如 PM 77-1 所说
标签: javascript for-loop if-statement