Con la tecnología de Blogger.

Secuencias de números aleatorios

En la siguiente porción de código JAVA, se imprime dos secuencias de cinco números aleatorios uniformemente distribuidos entre [0, 1), separando los números de cada una de las secuencias por un carácter tabulador.

System.out.println("Primera secuencia");
for (int i = 0; i < 5; i++) {
System.out.print("\t"+rnd.nextDouble());
}

System.out.println("");
System.out.println("Segunda secuencia");
for (int i = 0; i < 5; i++) {
System.out.print("\t"+rnd.nextDouble());
}

System.out.println("");

Comprobaremos que los números que aparecen en las dos secuencias son distintos.

En la siguiente porción de código, se imprime dos secuencias iguales de números aleatorios uniformemente

distribuídos entre [0, 1). Se establece la semilla de los números aleatorios con la función miembro setSeed.

rnd.setSeed(3816);

System.out.println("Primera secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");

rnd.setSeed(3816);

System.out.println("Segunda secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");

package azar;

import java.util.Random;

public class AzarApp {

public static void main (String[] args) {

int[] ndigitos = new int[10];

int n;

Random rnd = new Random();

// Inicializar el array

for (int i = 0; i < 10; i++) {

ndigitos[i] = 0;

}

// verificar que los números aleatorios están uniformente distribuídos

for (long i=0; i < 100000L; i++) {

// genera un número aleatorio entre 0 y 9

n = (int)(rnd.nextDouble() * 10.0);

//Cuenta las veces que aparece un número

ndigitos[n]++;

}

// imprime los resultados

for (int i = 0; i < 10; i++) {

System.out.println(i+": " + ndigitos[i]);

}

//Dos secuencias de 5 número (distinta semilla)

System.out.println("Primera secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");

System.out.println("Segunda secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");


//Dos secuencias de 5 número (misma semilla)

rnd.setSeed(3816L);

System.out.println("Primera secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");

rnd.setSeed(3816);

System.out.println("Segunda secuencia");

for (int i = 0; i < 5; i++) {

System.out.print("\t"+rnd.nextDouble());

}

System.out.println("");

}

}
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)