Klasa java.util.Random
potrafi generować liczby pseudolosowe o w miarę równomiernym rozkładzie. Otrzymano Listę
rodzaju Twojej usługi:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
łatwo wybrać losowo:
String s = services.get(rnd.nextInt(services.size()));
Podobnie można wybrać jedną z listy wartości opinii:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Jednym prostym sposobem na uzyskanie innego rozkładu jest „ułożenie talii”. Na przykład
Arrays.asList("1", "1", "1", "0", "0", "-1"));
dałoby 1, 0 i -1 z prawdopodobieństwem /2 , /3 i /6 , odpowiednio. Bardziej rozbudowane partycje można ustawić za pomocą nextGaussian()
oraz odpowiedni przedział ufności
.
To podejście powinno być używane tylko do generowania danych testowych.
Dodatek:Przewodnik matematyczny Apache Commons zawiera rozdział o Generowaniu danych , z linkami informacyjnymi i dokumentacją dotyczącą innych rozkładów prawdopodobieństwa.