2016-07-25 5 views
-1

Ich bin relativ neu in Java und studiert die zufällige Klasse in Java se8. Ich habe Mühe, den zufälligen Klassenkonstruktor mit einem Parameter vom Typ long zu verstehen. Ich habe einen Screenshot der Erklärung in der Java-Dokumentation beigefügt, aber ich habe wirklich Mühe zu verstehen, was es eigentlich bedeutet. Kann mir bitte jemand das bitte erklären?Schwierigkeiten zu verstehen, zufällige Klasse Konstruktor mit einem Parameter langen Typ

enter image description here

+1

Nun, welches Stück davon verstehst du nicht? Hast du die Übersichtsdokumentation gelesen, die etwas mehr über den Samen sagt? –

+1

Wikipedia hat eine ziemlich schöne Definition dessen, was ein "Seed" in den Programmieralgorithmen https://en.wikipedia.org/wiki/Random_seed ist – Ichthyocentaurs

Antwort

1

Ein Pseudo-Zufallszahlengenerator erzeugt keine tatsächlich Zufallszahlen. Stattdessen hat es einen internen Zustand und führt eine Berechnung durch, die eine scheinbar zufällige Zahl erzeugt und den internen Zustand aktualisiert (so dass Sie beim nächsten Mal, wenn Sie den Generator nach einem anderen fragen, eine andere Nummer erhalten).

Die Reihenfolge der Zahlen wird vollständig durch den internen Zustand bestimmt. In diesem Fall ist es ein long (für kryptographisch starke PRNG wird es etwas größer sein). Für den gleichen long Seed, erhalten Sie die gleiche Reihenfolge der Zahlen zurück.

Sie können dies tun, um eine vorherige Sequenz genau zu reproduzieren. Wenn es Ihnen egal ist, können Sie den Startpunkt nicht angeben (in diesem Fall wird ein Standard geliefert, der jedes Mal anders ist).