简单的模数测试仪

时间:2016-07-07 09:42:58

标签: javascript modulo

我有一个简单的基于模数的脚本,它运行3到6位到else。这些数字也存在这种情况,这些数字也适用于这些数字。

function caffeineBuzz(n){
    var returnvalue;

    if (n % 3 == 0)
        returnvalue = "Java";
    if (n % 3 == 0 && n % 4 == 0)
        returnvalue = "Coffee";
    if (n % 3 == 0 && n % 2 == 0)
        returnvalue = "Java" + "Script"
    if (n % 4 == 0 && n % 2 == 0)
        returnvalue = "Coffee" + "Script"
    else
        returnvalue = "mocha_missing!"

     return returnvalue;
}

n代表输入,即整数,returnvalue应该是一个字符串。

更新 最具体 - >不太具体的方法对我有帮助,但有些情况下,它返回时的值不正确。

function caffeineBuzz(n){
    var returnvalue;

    if (n % 4 == 0)
        returnvalue = "Coffee" + "Script"
    else if (n % 3 == 0 && n % 4 == 0)
        returnvalue = "Coffee";
    else if (n % 3 == 0 && n % 2 == 0)
        returnvalue = "Java" + "Script"
    else if (n % 3 == 0)
        returnvalue = "Java";
    else
        returnvalue = "mocha_missing!"

     return returnvalue;
}

1 个答案:

答案 0 :(得分:1)

此功能是基于评论对答案的猜测。

function caffeineBuzz(n){
    //Storing n's modulos to not calculate them multiple times
    var mod3 = (n % 3 == 0)
    var mod4 = (n % 4 == 0);
    var mod2 = mod4 || (n % 2 == 0);

    //Maybe: return (mod3 ? ("Java" + (mod4 ? "Coffee" : "")) + (mod2 ? "Script" : "") : "mocha_missing!");
    return (mod3 ? ((mod4 ? "Coffee" : "Java") + (mod2 ? "Script" : "")) : ("mocha_missing!"));
}