Kelas java.util.Random
dapat menghasilkan bilangan pseudo-acak yang memiliki distribusi yang cukup seragam. Diberikan List
jenis layanan Anda:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
mudah untuk memilih satu secara acak:
String s = services.get(rnd.nextInt(services.size()));
Demikian pula, salah satu daftar nilai umpan balik dapat dipilih:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Satu cara sederhana untuk mendapatkan distribusi yang berbeda adalah dengan "menumpuk dek". Misalnya,
Arrays.asList("1", "1", "1", "0", "0", "-1"));
akan menghasilkan 1, 0, dan -1 dengan probabilitas /2 , /3 , dan /6 , masing-masing. Anda dapat mengatur partisi yang lebih rumit menggunakan nextGaussian()
dan interval kepercayaan
yang sesuai .
Pendekatan ini hanya boleh digunakan untuk menghasilkan data uji.
Tambahan:Panduan Matematika Apache Commons termasuk bab tentang Pembuatan Data , dengan tautan dan dokumentasi informatif mengenai distribusi probabilitas lainnya.