
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.
A ver si alguien me puede ayudar llevo ya bastante con esto y sigo sin sacarlo.
Saludos y gracias
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;
}
}
Saludos y gracias
Valora esta pregunta


0