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.