Lớp java.util.Random
có thể tạo ra các số giả ngẫu nhiên có phân phối đồng đều hợp lý. Đưa ra một List
loại dịch vụ của bạn:
List<String> services = new ArrayList<String>(
Arrays.asList("COMPUTER", "DATA", "PRINTER"));
thật dễ dàng để chọn một cách ngẫu nhiên:
String s = services.get(rnd.nextInt(services.size()));
Tương tự, có thể chọn một trong danh sách các giá trị phản hồi:
List<String> feedbacks = new ArrayList<String>(
Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));
Một cách đơn giản để có được một bản phân phối khác là "xếp chồng lên nhau". Ví dụ,
Arrays.asList("1", "1", "1", "0", "0", "-1"));
sẽ tạo ra 1, 0 và -1 với xác suất / 2 , / 3 và / 6 , tương ứng. Bạn có thể sắp xếp các phân vùng phức tạp hơn bằng cách sử dụng nextGaussian()
và khoảng tin cậy
phù hợp .
Phương pháp này chỉ nên được sử dụng để tạo dữ liệu thử nghiệm.
Phụ lục: Hướng dẫn Toán Apache Commons bao gồm một chương về Tạo dữ liệu , với các liên kết thông tin và tài liệu liên quan đến các phân phối xác suất khác.