De klasse java.util.Random
kan pseudo-willekeurige getallen genereren met een redelijk uniforme verdeling. Gegeven een List
van uw servicetype:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
het is gemakkelijk om er willekeurig een te selecteren:
String s = services.get(rnd.nextInt(services.size()));
Evenzo kan een van een lijst met feedbackwaarden worden gekozen:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Een eenvoudig hulpmiddel om een andere distributie te krijgen, is door "het kaartspel te stapelen". Bijvoorbeeld,
Arrays.asList("1", "1", "1", "0", "0", "-1"));
zou 1, 0 en -1 opleveren met waarschijnlijkheid /2 , /3 , en /6 , respectievelijk. U kunt uitgebreidere partities rangschikken met nextGaussian()
en een geschikt betrouwbaarheidsinterval
.
Deze benadering mag alleen worden gebruikt voor het genereren van testgegevens.
Addendum:De Apache Commons Math Guide bevat een hoofdstuk over Data Generation , met informatieve links en documentatie over andere kansverdelingen.