Kann scala.util.Random.nextInt (): Int gelegentlich eine negative Rendite Wert?
Dokumentation für scala.util.Random.nextInt (n: Int): Int
sagt "Gibt einen Pseudo-zufälligen, gleichmäßig verteilten int-Wert zwischen 0 (einschließlich) und dem angegebenen Wert (exklusive)...", während er für scala.util.Random.nextInt (): Int
es sagt "liefert die nächste Pseudo-zufälligen, gleichmäßig verteilten int-Wert...", ohne ssaying etwas über die null. Bekomme ich einen negativen Wert hier gelegentlich?
- Woher kommt es, dass? Die docs die ich gefunden, sagte "Alle 2^32 möglichen int-Werte wurden mit (ungefähr) gleicher Wahrscheinlichkeit", was bedeutet, dass negative zahlen sind wahrscheinlicher als positive (da gibt es noch eine negative Zahl).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anscheinend, ja. Wird es wieder einen negativen Wert auf meine ersten versuche! 🙂
scala random int non-zero
. Vielleicht ist es ein Zeichen.Ja, Sie können (und das ist ok wegen definition der gleichmäßigen Verteilung). Außerdem erhalten Sie es in fast 50% der Fälle.
ergab für mich 49946 - das ist ganz in der Nähe der 50%.
Wie Sie sehen können hier (mit Mike Harrah ' s ausgezeichnete sxr), Scala
Random
nur die Delegierten zu einer zugrunde liegendenjava.util.Random
bezeichnet alsself
.Als andere darauf hingewiesen, standardmäßig liegt der Bereich zwischen
Integer.MIN_VAL
undInteger.MAX_VAL
, in anderen Worten, jedeInteger
möglich, auch die negativen.Wenn Sie nur den positiven Bereich, Sie können die überladene Methode
nextInt
dass ein argument, wie diese:Laut der docs:
Random.nextInt(Integer.MAX_VALUE+1)
, da 0 nicht positiv und Integer.MAX_VALUE wird ausgeschlossen, die am oberen Ende.scala.uti.Random.nextInt (): Int nutzt die gleiche Methode von java.util.Random. Und die Auswahl, wie Luigi darauf hingewiesen, [Integer.MIN_VAL,Integer.MAX_VAL]. Tatsächlich ist der "gleichmäßig verteilten int-Wert" bedeutet eine beliebige Anzahl von int-Typ ist möglich zurückgegeben werden, und die chance, jeder in der Theorie die gleichen zu sein.