0
Ich habe ein einfaches, modulo-basiertes Skript, das für 3 und 6 Ziffern zu else
läuft. Es gibt auch Fälle für diese Zahlen, deren Bedingung auch zu diesen Zahlen passen sollte.Einfacher Modulo-Tester
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
steht für die Eingabe, daß eine ganze Zahl und Return sollte ein String sein.
Update: Am meisten spezifische -> weniger spezifische Ansatz half mir, aber es gibt Fälle, wenn es mit falschem Wert zurückkehrt.
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;
}
Ákos, können Sie uns sagen, was ist die Frage, was möchten Sie erreichen und wie funktioniert diese Funktion? –
* "' if (n% 4 == 0 && n% 2 == 0) '" * - Nicht, was Sie fragen, aber der zweite Teil dieser Bedingung ist redundant. – nnnnnn
Sie verstehen, dass, wenn 'n% 3 == 0', es zu' returnValue = "java" 'geht und dann nie zu den anderen Teilen fortschreitet, richtig? So wirst du niemals die Teile 'Coffee' und' Java Script' erreichen. Wenn Sie möchten, dass das Skript sie erreichen kann, legen Sie sie zuerst an. Strukturieren Sie den Block "if/else" grundsätzlich von "am wenigsten" bis "am wenigsten spezifisch". (Beginnen Sie mit 'a && b && c && d 'bevor Sie zu weniger spezifischen Teilen wie' a && b' gehen und mit 'if a' enden) – Tularis