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

Crean n palabras

Estas en el tema de Crean n palabras en el foro de Java en Foros del Web. Hola amigos, Soy nueva por aquí, hace poco iniciada en esto de Java. Tengo una clase para generar palabras formadas por letras de forma aleatoria. ...
  #1 (permalink)  
Antiguo 15/12/2014, 08:29
 
Fecha de Ingreso: diciembre-2014
Ubicación: España
Mensajes: 8
Antigüedad: 4 años, 11 meses
Puntos: 0
Crean n palabras

Hola amigos,

Soy nueva por aquí, hace poco iniciada en esto de Java. Tengo una clase para generar palabras formadas por letras de forma aleatoria.
El código para generar una palabra sería este:

Código:
for(int i=0; i<numero;i++){
        palabra=palabra+abecedario.charAt(aleatorio.nextInt(abecedario.length()));
        }
siendo la variable numero, el número de letras que quiero que contenga la palabra.
Quería saber, cómo puedo hacer para generar un número n de palabras, y que cada una sea distinta.

Saludos
  #2 (permalink)  
Antiguo 15/12/2014, 11:02
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 10 años, 6 meses
Puntos: 306
Respuesta: Crean n palabras

Pues lo mismo que haces, llamar a un bucle que llame a su vez al bucle que crea palabras de n letras.

La única diferencia es que si quieres que las palabras no se repitan, en vez de un for usa while, y para asegurarte de que no es repetida cada palabra nueva la vas almacenando en un List.

Ese List te sirve para salir del bucle while cuando alcance el tamaño deseado y para comprobar si la palabra generada ya existe (contains), si no existe la añades al List.
__________________
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.
  #3 (permalink)  
Antiguo 15/12/2014, 11:06
 
Fecha de Ingreso: diciembre-2014
Ubicación: España
Mensajes: 8
Antigüedad: 4 años, 11 meses
Puntos: 0
Respuesta: Crean n palabras

Lo que me sucede si le pongo otro for es que me crea las palabras de esta forma:


nlxya
nlxyaakxum
nlxyaakxumrifag
nlxyaakxumrifagdobyr
nlxyaakxumrifagdobyrwgntp


Me va sumando caracteres a la anterior.
Gracias y saludos.
  #4 (permalink)  
Antiguo 15/12/2014, 11:22
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 10 años, 6 meses
Puntos: 306
Respuesta: Crean n palabras

Si no reinicias la variable palabra normal que te pase.

La forma correcta es que metas ese bucle for en un método al que le pases como parámetro el número de letras y devuelva la palabra.
__________________
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.
  #5 (permalink)  
Antiguo 15/12/2014, 11:43
 
Fecha de Ingreso: diciembre-2014
Ubicación: España
Mensajes: 8
Antigüedad: 4 años, 11 meses
Puntos: 0
Respuesta: Crean n palabras

Ya lo he resuelto tal y como me decías, muchas gracias.

Cree el método para generar la palabra
Código:
public static String escribirPalabra(int num){
       String palabra="";
       Random aleatorio=new Random();
    for(int i=0; i<num;i++){
        palabra=palabra+abecedario.charAt(aleatorio.nextInt(abecedario.length()));
        }
    return palabra;
   }
Y luego he llamado al método dentro de un bucle, para generar más de una palabra.

Muy agradecida, saludos.

Etiquetas: clase, palabras
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:05.