Experiment: Kohlkopf

+Übersicht
+Tools & Links
+HTML-Allgemein
+Tabellen & Layer
-JavaScript/DOM
Browser-Unterschiede
Variablenübergabe
Weiterleitungen
PopUp-Fenster
Dateien auslesen
<select>-Wert ermitteln
Zugriff auf Fenster
2 Aktionen im Formular
<textarea>-Zeichenlimit
statisch positionieren
Bilderwechsel
Image-Preload
Zufallszahlen
+CSS
+Frames
+Diverses


 
Valid CSS!
Valid HTML 4.01!
 
 
zum Provisorium

 > Übersicht der Fragen
   > JavaScript/DOM
     > Zufallszahlen
 
 
Wie funktionieren Zufallszahlen in Javascript?
 

Manchmal benötigt man für eine Anwendung eine zufällig bestimmte Zahl.

Javascript stellt dafür die Funktion Math.random() zur Verfügung. Diese liefert allerdings nur Bruchzahlen zwischen 0 und 1.
Um sie für die eigenen Programme nutzbar zu machen, multipliziert man das Ergebnis mit der grössten erlaubten Zahl. Danach wird das Ergebnis auf eine Ganzzahl gerundet

Beispiel
Lotto-Zahlen generieren

Quelltext der Seite


<html>
<head>
<title>Lotto-Tipp</title>
</head>
<body>
<script type="text/javascript">
<!--
function sortNumeric(a,b)
{ return a-b; }

ziehung=new Array();
while(ziehung.length<7)
  {
  zahl=Math.round(Math.random() * 49);
  if(zahl>0)
    {
      gezogen=true;
      for(z=0;z<ziehung.length;++z)
        {
        if(ziehung[z]==zahl)
          {
          gezogen=false;
          }
        }
      if(gezogen)
        {
        ziehung[ziehung.length]=zahl;
        }
      if(ziehung.length==6)
        {
        ziehung.sort(sortNumeric);
        }
    }
}
ziehung[6]='Zusatzzahl:'+ziehung[6];
document.write('<h1>Der heutige Lottotipp lautet:<hr>'+ziehung.join(' - '))+'</h1>';
//-->
</script>
</body>
</html>

Erläuterung:

Das Skript in der Seite enthält einen zunächst leeren Array ziehung[].
In einer Schleife werden nun solange Zufallszahlen zwischen 1 und 49 ermittelt und in diesem Array gespeichert, bis er 7 Zahlen enthält. Dabei wird in einer weiteren Schleife der Array jedesmal durchlaufen, um zu überprüfen, ob die neue Zahl bereits einmal "gezogen" wurde.
Weiterhin wird nach der 6. Zahl der Array für die Ausgabe numerisch sortiert, bevor die Zusatzzahl ermittelt wird.
Letztendlich wird das "Ziehungsergebnis" in das Dokument geschrieben.


 
 
   
beantwortet von
redflexer & doktormolle
 
 
zum proVisorium Impressum