2017-04-17 5 views
0

Ich bin sehr neu in Javascript, also habe ich eine harte Zeit herauszufinden, diese einfache Übung und was ich mache das falsch. Jede Hilfe würde sehr geschätzt werden!Javascript wenn sonst für Anfänger

Sie erhalten zwei numerische Variablen: var n = 25; var Ergebnis = 0;

Ihre Werte können sich bei der Übermittlung ändern. BEARBEITEN SIE NICHT DEN CODE ÜBER DIESER LINIE. ==============================

Ihre Herausforderung: Verwenden Sie wenn und sonst, treffen Entscheidungen basierend auf den Werten von n und führen mit den folgenden Regeln: 1. Wenn n gerade ist, gesetzt den Wert des Ergebnisses aktuellen Wert des führen und 10. 2. Wenn n ungerade ist, den Wert der Ergebnismenge aktueller Wert des Ergebnisses minus dem Wert von n. 3. Deklarieren Sie keine neuen Variablen. 4. Stellen Sie sicher, dass Ihre Lösung für alle Werte von n und result funktioniert.

if (n%2 == 0) {result+10;} else {result-n;} 
+6

Was ist die Zukunft der Programmierung, wenn die Leute ihre Hausaufgaben Post auf SO und eine Lösung in 2 Minuten bekommen? –

+1

@KobyDouek: Das obige zeigt eine klare Anstrengung, die Arbeit zu tun, und ein einfaches Unverständnis für ein einfaches Konzept. Ich stimme zu, dass es einfach eine schlechte Idee ist, die fertige Lösung zu posten (so habe ich es nicht getan), aber das fehlende Verständnis anzusprechen ist lehrreich, nicht möglich. –

+0

@ T.J.Crowder Ich verstehe deinen Standpunkt, aber das sind Hausaufgaben, was ist der Sinn eine Antwort zu bekommen, deine Arbeit einzureichen und A + zu bekommen? Was wird später passieren oder wenn dieser Typ für einen Job angenommen wird? Als ich Informatik studiert habe, hat mir niemand geholfen. Ich habe meine Meinung gebrochen, bis die Antwort kam, und das fehlt der Welt heute. –

Antwort

0

Sie können das Ergebnis festlegen?

if (n%2 == 0) { 
    result = result + 10; 
} else { 
    result = result - n; 
} 

Oder wenn Sie ein bisschen besser:

if (n % 2 == 0) { 
    result += 10; 
} else { 
    result -=n; 
} 
10

Ihr Problem ist nicht if/else, das Problem ist, dass Sie setzen nie result auf den neuen Wert. result+10 ergibt nur den Wert, ohne diesen Wert irgendwo zu speichern. (In vielen Programmierung langauges, das wäre ein Syntaxfehler, aber JavaScript erlaubt, was es nennt ExpressionStatement wo jeder Ausdruck eine Aussage sein kann.)

Entweder die zusammengesetzten Zuweisungsoperatoren (+= und -=) oder ein Schreib ausführliche Zuweisung (result = ...).


Randbemerkung: Es ist einfacher, zu debuggen und Bearbeiten von Code, wenn Aussagen über ihre eigenen Linien sind, deutet darauf hin:

if (condition) { 
    trueStuffHere 
} else { 
    falseStuffHere 
} 

... oder eine der verschiedenen Variationen zu diesem Thema, wo trueStuffHere und falseStuffHere sind auf eigenen Linien.