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

Numeros Aleatorios no Repetidos

Estas en el tema de Numeros Aleatorios no Repetidos en el foro de Java en Foros del Web. Buenos días! Mirad, tengo que hacer una práctica en Java para la universidad y tengo un problema. Yo necesito crear 6 numeros aleatorios y que ...
  #1 (permalink)  
Antiguo 08/03/2013, 03:27
 
Fecha de Ingreso: marzo-2013
Ubicación: Alcalá de Henares
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Numeros Aleatorios no Repetidos

Buenos días!

Mirad, tengo que hacer una práctica en Java para la universidad y tengo un problema.
Yo necesito crear 6 numeros aleatorios y que esos 6 numeros no se repitan y esten comprendidos entre 1 y 49. Aqui viene el problema. Tengo creado lo de los 6 numeros y todo pero no se como hacer el tema de que no se repitan.

Me podeis echar una mano?

Este es mi código:
Código JAVA:
Ver original
  1. public static int[] Sortear(){
  2.         int aleatorio[]=new int[6];
  3.         Random rand=new Random();
  4.         for(int i=0;i<6;i++){
  5.            
  6.             aleatorio[i]=rand.nextInt(50);
  7.            
  8.            
  9.         }
  10.        
  11.        
  12.         return aleatorio;
  13.        
  14.     }

Muchas Gracias.
  #2 (permalink)  
Antiguo 08/03/2013, 03:50
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Numeros Aleatorios no Repetidos

Tendrías que hacer un método comprobarNumero() que comprobase si ya has agregado el número al array me explico


Código JAVA:
Ver original
  1. public static int[] Sortear(){
  2.             int aleatorio[]=new int[6];
  3.             int numAgregar;
  4.             Random rand=new Random();
  5.             for(int i=0;i<6;i++){
  6.                 numAgregar = rand.nextInt(50);
  7.                 if(!comprobarNumero(numAgregar))
  8.                        aleatorio[i]=numAgregar;              
  9.             }          
  10.            
  11.             return aleatorio;
  12.            
  13.         }
  14.  
  15.          public boolean comprobarNumero(int num){
  16.                for(int i=0;i<(aleatorio.size() -1);i++){
  17.                        if(aleatorio[i]==num)
  18.                             return true;
  19.                }
  20.                return false;
  21.          }

La idea sería algo así, lo he programado aquí mismo así que igual no funciona bien jeje, pero la idea es esa.

Saludos!!
  #3 (permalink)  
Antiguo 08/03/2013, 05:57
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Numeros Aleatorios no Repetidos

Si buscas, en este foro te encontrarás con ese problema resuelto n veces.

http://www.forosdelweb.com/f45/relle...epetir-498606/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 08/03/2013, 06:06
 
Fecha de Ingreso: marzo-2013
Ubicación: Alcalá de Henares
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Numeros Aleatorios no Repetidos

muchas gracias a los 2. me ha servido.

Etiquetas: numeros, repetidos
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 13:28.