クラスjava.util.Random
適度に均一な分布を持つ疑似乱数を生成できます。与えられたList
サービスタイプの:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
ランダムに選択するのは簡単です:
String s = services.get(rnd.nextInt(services.size()));
同様に、フィードバック値のリストの1つを選択できます:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
別のディストリビューションを取得するための簡単な方法の1つは、「デッキをスタックする」ことです。たとえば、
Arrays.asList("1", "1", "1", "0", "0", "-1"));
確率/2 で1、0、および-1を生成します 、/ 3 、および/ 6 、 それぞれ。 を使用して、より複雑なパーティションを配置できます。 nextGaussian()
および適切な
このアプローチは、テストデータの生成にのみ使用する必要があります。
補遺: Apache Commons Math Guide データ生成に関する章が含まれています 、他の確率分布に関する有益なリンクとドキュメント付き。