El otro día, uno de nuestros visitantes nos preguntaba como podía hacer un código que le localizase la palabra más larga de una frase con Java. Y porqué no ayudarle, si era un código muy sencillo y que seguro podrá ayudar a más gente.
Lo más recomendable es empezar leyéndose dos artículos: Contar palabras en Java y Contador de ocurrencias en Java. Estos nos explican como se pude saber cuantas palabras componen una cadena y cuales son. Uno de ellos mediante el uso del StrinkTokenizer y el otro mediante .indexOf().
Ahora vemos como saber cual es la palabra más larga de una frase. La idea es sencilla, iremos recorriendo todas las palabras de la frase y mientras las recorremos veremos cual de ellas es la de mayor tamaño.
Inicialmente definimos que la palabra mayor es vacía y con tamaño 0.
String palabraMasGrande = "";
int palabraMasGrandeSize = 0;
Por otro lado, partimos la cadena con el texto en las palabras que la conforman. Esto lo hacemos mediante la clase StrinkTokenizer.
StringTokenizer stTexto = new StringTokenizer(sTexto);
Ahora recorremos el StrinkTokenizer para analizar las palabras.
int palabras = stTexto.countTokens();
for (int x=0;x><palabras;x++){
sCadena = stTexto.nextToken();
System.out.println(sCadena);
}
Dentro del bucle tenemos que analizar la palabra. Si el tamaño de la palabra, que obtenemos mediante el método .length(), es mayor que el tamaño de la palabra más grande, entonces nos guardamos la palabra actual y su método.
int palabras = stTexto.countTokens();
for (int x=0;x<palabras;x++){
sCadena = stTexto.nextToken();
if (sCadena.length() > palabraMasGrandeSize){
palabraMasGrande = sCadena;
palabraMasGrandeSize = sCadena.length();
}
}