zufallsgenerator javascript

  • ich habe gerade einen zufallsgenerator in javascript geschrieben. leider gibt er aber keine zahlen sondern "undefined" aus. Weis jemand woran es liegt???


    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function zufall () {
    var zufall = new Array();
    for (i = 0; i < 10; i++) {
    do {
    var zahl = (Math.random() * 100) + 1;
    var schonda = false;
    for (j = 0; j < i; j++) {
    if (zufall[j] == zahl)
    schonda = true;
    }
    } while (schonda);
    }
    // Ausgabe:
    for (i = 0; i < 10; i++) {
    document.write
    (zufall[i] + "");
    }
    }
    -->
    </SCRIPT>

  • also ich hab des script mal kopiert und frage mich grad was das ding generieren soll??
    10 zufallszahlen in einem array? und wofür ist die schonda-while-schleife??
    also zur zeit kann ich dir net sagen was du falsch gemacht hast, jedoch würde ich dieses script etwas, öhhm sagen wir mal kürzer schreiben..
    ich check mal was ich in dem gewusel rausfiltern kann und dann schreib ich nen edit oder neuen beitrag hier rein...
    entweder mit nem neuen script oder mit der fehlerbeschreibung deines scriptes

    ps: deine schonda-while-schleife lässt die page unendlich laden!

    edit:
    so hier erstmal ein kleineres script, was seinen zweck erfüllt

    und bei deinem script würdest du auf keine ganzen zahlen kommen...
    aber ich prüf des grad mal, was da genau passiert.

    edit2: also ich kann dir net sagen warum, aber dein ganzes script is in sich suspekt.
    die zählvariablen i und j sind nur innerhalb ihrer schleife gültig und bekannt, deshalb versteh ich net was da in der zweiten schleife funktionieren soll, könnte auch der grund sein weshalb das ding unendlich läuft (ebenso wie die schonda-variable dafür verantwortlich sein kann)
    dann haste die bedingung

    Code
    if (zufall[j] == zahl)


    du generierst ne zufallszahl, die nen fließkommewert hat, wie hoch ist die chance, daß ein integer wie J einen fließkommawert annimmt oder umgekehrt, daß deine zufallszahl eine ganze zahl ist...

    also wie gehabt, ich kann dir nicht genau sagen was an deinem script falsch ist, aber scheinbar sind da auch mehrer fehler drin.
    kannst dir ja mein script oben mal angucken, evtl bringt dich das weiter