Java - Programa aleatorio sin repeticion

 
Vista:
sin imagen de perfil

Programa aleatorio sin repeticion

Publicado por Juan Manuel (1 intervención) el 20/05/2014 22:18:38
Hola buenas.
Tengo que hacer un programa para clase donde pase los nombres de mis compañeros por un fichero (fi.leerFichero() Es un arrayList) y salga uno de ellos aleatoriamente. Tengo este codigo pero no se porqué no funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public String repeticionNo (){
 
		String alumno = "";
		int aleatorio = this.aleatorioNoRepetir();
 
		alumno = fi.leerFichero().get(aleatorio);
 
		return alumno ;
	}
 
	public int aleatorioNoRepetir(){
 
		ArrayList <Integer> listaNumero = new ArrayList <Integer> ();
 
		   if(listaNumero.size() < (fi.leerFichero().size() ) ){
 
		      int numero = (int) (Math.random()*fi.leerFichero().size()+1);
 
		      if(listaNumero.isEmpty()){
 
		        listaNumero.add(numero);
		        return numero;
 
		      }else{
		    	  //Metodo recursivo para que vuelva a hacer el metodo
		        if(listaNumero.contains(numero)){
		          return aleatorioNoRepetir();
 
		          //Si no esta en la lista
		        }else{
		          listaNumero.add(numero);
		          return numero;
		        }
		      }
 
		   }else{// ya se generaron todos los numeros
			   return 0;
 
		   }
	}
A ver si alguien me puede ayudar llevo ya bastante con esto y sigo sin sacarlo.
Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder