Mysql
 sql >> Database >  >> RDS >> Mysql

numeri casuali in java

La classe java.util.Random può generare numeri pseudo-casuali aventi una distribuzione ragionevolmente uniforme. Dato un List del tuo tipo di servizio:

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

è facile selezionarne uno a caso:

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

Allo stesso modo, è possibile scegliere uno di un elenco di valori di feedback:

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

Un semplice espediente per ottenere una distribuzione diversa è "impilare il mazzo". Ad esempio,

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

produrrebbe 1, 0 e -1 con probabilità /2 , /3 e /6 , rispettivamente. Puoi organizzare partizioni più elaborate usando nextGaussian() e un intervallo di confidenza .

Questo approccio dovrebbe essere utilizzato solo per generare dati di test.

Addendum:La guida matematica di Apache Commons include un capitolo su Generazione di dati , con link informativi e documentazione relativa ad altre distribuzioni di probabilità.