sql >> Base de Datos >  >> RDS >> Mysql

numeros aleatorios en java

La clase java.util.Random puede generar números pseudoaleatorios que tienen una distribución razonablemente uniforme. Dada una List de su tipo de servicio:

List<String> services = new ArrayList<String>(
    Arrays.asList("COMPUTER", "DATA", "PRINTER"));

es fácil seleccionar uno al azar:

String s = services.get(rnd.nextInt(services.size()));

De manera similar, se puede elegir uno de una lista de valores de retroalimentación:

List<String> feedbacks = new ArrayList<String>(
    Arrays.asList("1", "0", "-1"));
String s = feedbacks.get(rnd.nextInt(feedbacks.size()));

Un recurso simple para obtener una distribución diferente es "apilar el mazo". Por ejemplo,

Arrays.asList("1", "1", "1", "0", "0", "-1"));

produciría 1, 0 y -1 con probabilidad /2 , /3 y /6 , respectivamente. Puede organizar particiones más elaboradas usando nextGaussian() y un intervalo de confianza adecuado .

Este enfoque solo debe usarse para generar datos de prueba.

Anexo:La guía matemática de Apache Commons incluye un capítulo sobre Generación de datos , con enlaces informativos y documentación sobre otras distribuciones de probabilidad.