我有一个简单的基于模数的脚本,它运行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;
}
答案 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!"));
}