我有一个简单的基于模的脚本,该脚本以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代表输入,它是一个整数,返回值应该是一个字符串。

更新:
最具体->不太具体的方法对我有所帮助,但是在某些情况下,它返回的值有误。

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;
}

最佳答案

此功能是基于注释的答案猜测。

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!"));
}

关于javascript - 简单的模数测试仪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38242272/

10-13 00:37