Ayuda con ejercicio para generar array aleatorio de char
Publicado por Hugo (1 intervención) el 02/07/2017 10:30:30
Hola. Me puse a hacer mi propia versión de un ejercicio para experimentar, y no consigo ver donde falla el método.
La idea es que el método genere diez palabras aleatorias con los char que se le introducen como argumento. Recibe la longitud del array y el rango de valores aceptados a través de ventanas JOptionPane, en lugar de como argumentos del método. Según la longitud indicada, saldrán tantas ventanas JOptionPane para introducir los char del rango aceptado.
El problema es que sólo me guarda la última cadena de caracteres que recibe. Y no consigo ver el fallo.
Gracias de antemano por vuestra ayuda. Un saludo.
La idea es que el método genere diez palabras aleatorias con los char que se le introducen como argumento. Recibe la longitud del array y el rango de valores aceptados a través de ventanas JOptionPane, en lugar de como argumentos del método. Según la longitud indicada, saldrán tantas ventanas JOptionPane para introducir los char del rango aceptado.
El problema es que sólo me guarda la última cadena de caracteres que recibe. Y no consigo ver el fallo.
Gracias de antemano por vuestra ayuda. Un saludo.
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
public static char[] crea_palabra(){ //Método para generar cadenas de caracteres aleatorios
String array;
char []s;
int longitud=Integer.parseInt(JOptionPane.showInputDialog("Introduce la longitud de la matriz"));
char []p=new char[longitud];
for(int k=0;k<longitud;k++){
array=JOptionPane.showInputDialog("Introduce un caracter");
s=array.toCharArray();
for(int h=0;h<s.length;h++){
p[h]=s[h];
}
}
char[] palabra=new char[longitud];
int j=0;
while(j<10){
for(int i=0;i<longitud;i++){
palabra[i]=p[(int)(Math.random()*longitud)];
}
j++;
System.out.println(palabra);
}
System.out.println("");
return palabra;
}
Valora esta pregunta
0