Crear numeros aleatorios distintos, usando semilla

Iniciado por juligarc10, 23 Marzo 2019, 18:20 PM

0 Miembros y 1 Visitante están viendo este tema.

juligarc10

Hola amigos, estoy intentando generar números aleatorios entre el 0 y el 27 (estos incluídos), pero quiero que cada vez que llame al método para generarlos, que genere uno distinto. En realidad el fin de generar numeros aleatorios, es para devolver objetos aleatorios, los cuales están creados en otra parte del código. Aquí les dejo mi código:

public Ficha darFicha(){
Random aleatorio = new Random(System.currentTimeMillis());
        // Producir nuevo int aleatorio entre 0 y 27
        int intAleatorio = aleatorio.nextInt(27);

        // Refrescar datos aleatorios, pero no me esta funcionando, o eso creo
        aleatorio.setSeed(System.currentTimeMillis());
       
//      Esto es parte del programa, para generar objetos aleatorios
        Ficha toret=new Ficha(0,0);
        toret=fichas[intAleatorio];
        return toret;
}

Gracias, y un saludo de antemano.

rub'n

#1
Cita de: juligarc10 en 23 Marzo 2019, 18:20 PM
Hola amigos, estoy intentando generar números aleatorios entre el 0 y el 27 (estos incluídos), pero quiero que cada vez que llame al método para generarlos, que genere uno distinto. En realidad el fin de generar numeros aleatorios, es para devolver objetos aleatorios, los cuales están creados en otra parte del código. Aquí les dejo mi código:

public Ficha darFicha(){
Random aleatorio = new Random(System.currentTimeMillis());
       // Producir nuevo int aleatorio entre 0 y 27
       int intAleatorio = aleatorio.nextInt(27);

       // Refrescar datos aleatorios, pero no me esta funcionando, o eso creo
       aleatorio.setSeed(System.currentTimeMillis());
       
//      Esto es parte del programa, para generar objetos aleatorios
       Ficha toret=new Ficha(0,0);
       toret=fichas[intAleatorio];
       return toret;
}

Gracias, y un saludo de antemano.

Usar mejor SecureRandom para generar números pseudo aleatorio mas estrictos

Como estará compuesta la clase Ficha?

Si quieres números que no se repitan pues seria mejor que te crees un array de 0 al 27 y los recorres, y podrías usar el algoritmo shuffle también.



PD... tildes


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen