En uno de los comentarios que nos dejabais hace poco un usuario nos preguntaba sobre cómo podría sacar las palabras pares de una frase con Java. Es decir, que dada una frase obtuviese la segunda, cuarta, sexta,… palabra de la frase y nos la mostrase por consola.
Vamos a ver cómo resolverlo, ya que es sencillo el poder extraer las palabras pares de una frase con Java. Lo primero será tener una frase. Esto es muy sencillo.
String sCadena = "Esto es una cadena que contiene palabras y de las que quiero extraer las palabras pares";
Ahora nos vamos a apoyar en la clase StringTokenizer
, la cual sirve para poder trocear una frase cada vez que encuentre un delimitador. Siendo su constructor el siguiente:
StringTokenizer(String str, String delim)
Por defecto, el delimitador que utiliza StringTokenizer
es el espacio en blanco, así que no necesitaremos indicarle ningún delimitador y nos bastará con hacer lo siguiente:
StringTokenizer st = new StringTokenizer(sCadena);
Ahora ya tenemos un array que contiene todas las palabras de la frase, así que simplemente tendremos que ir recorriendo el StringTokenizer
y mostrar las palabras que estén en las posiciones pares. Para ello tenemos que conocer los métodos en los que se apoya StringTokenizer
que son
.hasMoreElements()
, método que nos dirá si nos quedan más elementos por mostrar y .nextElement()
que será el método que nos devuelva el elemento que tenga el array mientras lo recorremos.
De esta forma podemos recorrerlo de la siguiente forma:
while (st.hasMoreElements()) { st.nextElement(); }
Como lo que queremos es extraer las palabras pares vamos a crear un contador que nos diga si la posición es par o es impar. Esto añadido a lo que ya explicamos en el artículo sobre números pares en Java, nos permitirá el saber si la posición es par o impar.
int contador = 1; while (st.hasMoreElements()) { if (iContador%2 == 0) System.out.println(st.nextElement()); else st.nextElement(); iContador++; }
De esta manera tan sencilla hemos conseguido extraer las palabras pares utilizando el lenguaje Java apoyándonos en la clase StringTokenizer
.
Recuerda que si tienes dudas con tu código nos las puedes dejar en los comentarios o mediante nuestros foros e intentaremos, en la medida de lo posible, ir resolviéndolos y explicándolos.