Класът java.util.Randomкод>
може да генерира псевдослучайни числа с разумно равномерно разпределение. Даден е списък
от вашия тип услуга:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
лесно е да изберете една на случаен принцип:
String s = services.get(rnd.nextInt(services.size()));
По същия начин може да бъде избрана една от списъка със стойности за обратна връзка:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Един прост начин за получаване на различно разпределение е да „подредите тестето“. Например,
Arrays.asList("1", "1", "1", "0", "0", "-1"));
ще произведе 1, 0 и -1 с вероятност /2 , /3 , и /6 , съответно. Можете да организирате по-сложни дялове, като използвате nextGaussian()
и подходящ интервал на доверие
.
Този подход трябва да се използва само за генериране на тестови данни.
Допълнение:Ръководството по математика на Apache Commons включва глава за Генериране на данни , с информативни връзки и документация относно други вероятностни разпределения.