循环中的初学者(经典)Fizzbuzz不起作用

时间:2019-04-01 22:50:52

标签: javascript while-loop

我为作业编写了所需的while循环,但出现错误。

var x = 1 ;

while (x <= 20) {

    if( x % 3 === 0 ) {
        console.log( "Julia" );

    }

    else if( x % 5 === 0 ) {
        console.log( "James" );

    }

    else if( x % 3 === 0 && x % 5 === 0 ) {

        console.log( "JuliaJames" );

    }

    else{
        console.log(x);

    }
    x++;

}

........

这是路线

方向: 编写一个while循环:

通过数字1到20 如果数字可被3整除,则打印“ Julia” 如果数字可被5整除,则打印“ James” 如果数字可以被3和5整除,则打印“ JuliaJames” 如果数字不能被3或5整除,请打印数字

运行代码时,范围内的每个数字要么保留为数字,要么由单词“ James”,“ Julia”或“ JuliaJames”代替。

我正在提交上面编写的代码,但被告知“验证您的while循环是否产生正确的输出”

2 个答案:

答案 0 :(得分:2)

您需要先检查x%5 && x%3,然后再检查条件中x%3之前的x%5。否则,也是x%5(例如15)的x%3会命中x%3,但永远不会进入x%5 && x%3或x%5有条件的情况。

Kernel.exit

答案 1 :(得分:0)

最后一个if语句永远不会为真,因为它所需要的两个条件(mod 3和mod 5)触发了上述if语句,因此满足这些要求的任何值永远都不会达到如此之高。尝试移动最后一个if语句(JuliaJames),因此它是第一个if语句,应该可以解决问题。

相关问题