2017-02-11 2 views
-3

Ich bin ein Neuling in der Codierung und ich habe einige Schwierigkeiten. Kann mir jemand sagen, was mit meinem Code nicht stimmt? Danke im Voraus. Ich versuche jeden Sommer eine Nummer zwischen 1-4 zu vergeben, aber es funktioniert nicht. Ich denke, dass meine bedingten Anweisungen möglicherweise deaktiviert sind.Random Season Generator

function randomSeason() { 
    var s = prompt("Enter a number between one and four"); 
    var r = Math.floor(Math.random() * 4) ; 
    var x= ""; 
    if (r===1) ; 
     x=" fall"; 
    alert(" It's fall"); 
    "else if"; (r===2); { 
      x =" spring"; 
     alert(" It's spring") ; 

    } 
     "else"; } 
    if (r===3); 
     x="winter"; 
    alert(" It's winter!"); { 

    } 
    "else if"; (r===4); 
    alert(" It's summer!"); 
{ 
alert(r); 

} 
+2

Warum setzen Sie "else if" und "else" in Anführungszeichen? – PaulJ

+2

Haben Sie google if-else-Anweisungen ausprobiert? – Thibaut

+2

Auch sollten Sie lernen, wenn Sie ";" in Ihrem Code verwenden – Thibaut

Antwort

-1
var seasons = ['spring', 'summer', 'fall', 'winter']; 
var which = Math.floor(Math.random() * 4); 

alert('It\'s ' + seasons[which] + '!'); 
+2

Wie hilft das? Es ist ein Code-Snippet ohne Kontext und erklärt auch nicht die Probleme im OP-Code. Damit wird auch nicht versucht, die Frage zu beantworten. –

+0

Er versucht, eine zufällige Jahreszeit zu erzeugen. Meine Antwort zeigt eine sehr einfache Möglichkeit, dies zu tun. –

+3

Ja, ist er, aber die Frage ist * "Kann mir jemand sagen, was ist los mit ** meinem Code **?" *. Sicher, sie können dieses komplett separate Code-Snippet kopieren und es wird funktionieren, ohne zu wissen, was sie falsch gemacht haben, aber es beantwortet nicht wirklich die Frage von OP. –

0

r wird immer zwischen 0-3 sein, weil Sie Math.floor verwenden.
Drei Wege zu beheben, dass:

  1. Verwenden Math.ceil statt Math.floor
  2. +1 auf das Ergebnis der Math.floor
  3. durch Ihre Bedingungen anpassen hinzufügen 0-3 statt 1-4
mit
1

Versuchen Sie, so etwas zu tun?

function randomSeason() { 
    var s = prompt("Enter a number between one and four"); 
    var r = Math.floor(Math.random() * 4) + 1); 
    var x= ""; 
    if (r===1){ 
     x="fall"; 
     alert("It's fall"); 
    }else if(r===2){ 
     x ="spring"; 
     alert("It's spring"); 
    }else if(r===3){ 
     x="winter"; 
     alert("It's winter!"); 
    }else if(r===4){ 
     x="summer"; 
     alert("It's summer!"); 
    }else{ 
     alert(r); 
    } 
} 

Ich ermutige Sie zu lesen how to write if...else statement in Javascript.

+0

Also, was ist die Eingabeaufforderung() für? – charlietfl

+0

Sie sind richtig, eigentlich weiß ich nicht, warum OP diese Zeile in den Code setzen !! –

Verwandte Themen