Klassen java.util.Random
kan generera pseudoslumptal med en någorlunda enhetlig fördelning. Givet en Lista
av din tjänsttyp:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
det är lätt att välja en slumpmässigt:
String s = services.get(rnd.nextInt(services.size()));
På liknande sätt kan ett av en lista med återkopplingsvärden väljas:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Ett enkelt hjälpmedel för att få en annan fördelning är att "stapla däcket". Till exempel,
Arrays.asList("1", "1", "1", "0", "0", "-1"));
skulle producera 1, 0 och -1 med sannolikhet /2 , /3 och /6 , respektive. Du kan ordna mer utarbetade partitioner med nextGaussian()
och ett lämpligt konfidensintervall
.
Detta tillvägagångssätt bör endast användas för att generera testdata.
Tillägg:Apache Commons Math Guide innehåller ett kapitel om Datagenerering , med informativa länkar och dokumentation om andra sannolikhetsfördelningar.