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

Random exclusivo en java

Estas en el tema de Random exclusivo en java en el foro de Java en Foros del Web. Hola, tengo una pregunta, es posible hacer o generar un numero aleatorio pero que sea entre varios numeros y no de rango, ose como hacer ...
  #1 (permalink)  
Antiguo 18/06/2012, 01:32
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Pregunta Random exclusivo en java

Hola, tengo una pregunta, es posible hacer o generar un numero aleatorio pero que sea entre varios numeros y no de rango, ose como hacer un random entre 1, 7, 89, y que el me tire un 1, un 7 o un 89??
  #2 (permalink)  
Antiguo 18/06/2012, 01:44
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Random exclusivo en java

...pues una forma facial seria guardar los numeros en un array...supongamos que tienes 10 numeros en el array...o sea que tienen indice 0,1,2,3,4,5,6,7,8,9...luego haces un random sobre los indices o sea de 0 a 9 y returnas el valor del indice ....

Recuerda que debes usar el objeto Random..

Código JAVA:
Ver original
  1. Random ejemplo= new Random();
  2. int valor= generator.nextInt(9) + 0;
  #3 (permalink)  
Antiguo 18/06/2012, 01:53
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Random exclusivo en java

Cita:
Iniciado por ipraetoriux Ver Mensaje
...pues una forma facial seria guardar los numeros en un array...supongamos que tienes 10 numeros en el array...o sea que tienen indice 0,1,2,3,4,5,6,7,8,9...luego haces un random sobre los indices o sea de 0 a 9 y returnas el valor del indice ....

Recuerda que debes usar el objeto Random..

Código JAVA:
Ver original
  1. Random ejemplo= new Random();
  2. int valor= generator.nextInt(9) + 0;
Lo malo es que si lo meto a un arreglo, no sabre de cuanto sera la longitud del mismo, pueden ser de 3 hasta de 20
  #4 (permalink)  
Antiguo 18/06/2012, 03:38
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Random exclusivo en java

Buenas,

No veo que problema tienes con la longitud del array.

Código Java:
Ver original
  1. int[] numeros = {1,5,7,12};
  2.  
  3. Random ejemplo= new Random();
  4.  
  5. int valor= numeros[generator.nextInt(numeros.length)];
  6.  
  7. //valor sería un número aleatorio entre los que existen en el array
  #5 (permalink)  
Antiguo 18/06/2012, 04:24
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Random exclusivo en java

Cita:
Iniciado por alexg88 Ver Mensaje
Buenas,

No veo que problema tienes con la longitud del array.

Código Java:
Ver original
  1. int[] numeros = {1,5,7,12};
  2.  
  3. Random ejemplo= new Random();
  4.  
  5. int valor= numeros[generator.nextInt(numeros.length)];
  6.  
  7. //valor sería un número aleatorio entre los que existen en el array
Porque los datos que entrarian al array no voy a saber cuantos son, como puede ser que solo entre un dato al array, pueden ser 50, depende de cuantos introduzca el usuario, pero la respuesta igual me sirve, muchas grax
  #6 (permalink)  
Antiguo 18/06/2012, 04:40
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Random exclusivo en java

...justamente...numeros.length te retorna el size del array...si hay 1 elemento...retornará 1 elemento y se generara un random de 1 solo elemento...si ingresan 20 elementos en el array...numeros.length te retornara 20...y el Random generará un random de 20 elementos...o sea...no interesa cuantos elementos tenga el array...tal vez lo que si puedas incluir algun condicional para verificar que si hay 1 solo elemento, no efectue el random...saludos
  #7 (permalink)  
Antiguo 18/06/2012, 04:54
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Random exclusivo en java

Si lo quieres es que el usuario introduzca números y no sabes cuantos, puedes usar la clase ArrayList.

Código Java:
Ver original
  1. ArrayList<Integer> numeros = ArrayList<Integer>();
  2.  
  3. //Aquí podría ser un bucle pidiendo números al usuario
  4. numeros.add(1);
  5. numeros.add(2);
  6. numeros.add(3);
  7.  
  8. Random ejemplo= new Random();
  9.  
  10. int valor= numeros.get(generator.nextInt(numeros.size()));
  11.  
  12. //valor sería un número aleatorio entre los que existen en el array

Etiquetas: clases, generador, 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 12:52.