Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zufallszahlen java

Die Klasse java.util.Random kann Pseudozufallszahlen mit einer einigermaßen gleichmäßigen Verteilung erzeugen. Gegeben sei eine List Ihres Diensttyps:

List<String> services = new ArrayList<String>(
    Arrays.asList("COMPUTER", "DATA", "PRINTER"));

es ist einfach, eine zufällig auszuwählen:

String s = services.get(rnd.nextInt(services.size()));

Ebenso kann einer aus einer Liste von Feedback-Werten ausgewählt werden:

List<String> feedbacks = new ArrayList<String>(
    Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));

Ein einfaches Hilfsmittel, um eine andere Verteilung zu erhalten, besteht darin, das Deck zu stapeln. Zum Beispiel

Arrays.asList("1", "1", "1", "0", "0", "-1"));

würde 1, 0 und -1 mit Wahrscheinlichkeit /2 erzeugen , /3 , und /6 , bzw. Sie können ausgefeiltere Partitionen mit arrangieren nextGaussian() und ein geeignetes Konfidenzintervall .

Dieser Ansatz sollte nur zum Generieren von Testdaten verwendet werden.

Anhang:The Apache Commons Math Guide enthält ein Kapitel über Datengenerierung , mit informativen Links und Dokumentationen zu anderen Wahrscheinlichkeitsverteilungen.