Foros del Web » Programación para mayores de 30 ;) » Java »

Random

Estas en el tema de Random en el foro de Java en Foros del Web. Muy buenas. Siempre me ha sido útil esta clase para claves privadas y demás, pero ahora se me plantea un nuevo reto que no consigo ...
  #1 (permalink)  
Antiguo 25/12/2011, 17:27
 
Fecha de Ingreso: octubre-2009
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Random

Muy buenas.

Siempre me ha sido útil esta clase para claves privadas y demás, pero ahora se me plantea un nuevo reto que no consigo por muchas veces que lo intente y que busque por Google.

Por ejemplo, se me plantea la necesidad de hacer un método para crear un número aleatorio entre los dos parámetros que se me pasen (mínimo, máximo).

Por ejemplo, ¿como haría para conseguir un número aleatorio entre 4 y 10?
Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 26/12/2011, 02:29
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Random

Math.random() te devuelve un número con decimales entre 0.0 (incluido) y 1.0 (excluido).

Entre 4 y 10 hay 7 números si incluyes los dos, el 4 y el 6, así que multiplica por 7

Math.random()*7 te devuelve un número entre 0.0 (incluido) y 7.0 (excluido).

Ahora suma 4 (tú mínimo)

Math.random()*7+4 te devuelve un número entre 4.0 (incluido) y 11.0 (excluido).

Quíta a ese número los decimales y listo

Math.floor (Math.random()*7+4) te devuelve un número entre 4 y 11, excluido el 11.


Otra forma más fácil es usar Random.nextInt(7) que te devuelve un número entero entre 0 y 7 excluido. Súmale 4 y listo.

Random.nextInt(7)+4 devuelve entre 4 y 11 excluido.

Se bueno.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: clase, random
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:29.