Java » Java y la palabra más larga de una frase
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 StringTokenizer.
StringTokenizer stTexto = new StringTokenizer(sTexto);
Ahora recorremos el StringTokenizer 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();
}
}
Visualizar el ejemplo | Descargar el código
Artículos relacionados:






Agosto 27, 2007 #
OE LA VERDAD BUENAZO TU BLOG! ME INTERESA MUCHO TU PLANTILLA ME LA PODRIAS MANDAR SI ME AGREGAS SERIA VACAN FAZNET@HOTMAIL.COM
Octubre 10, 2007 #
hola.saludes.
quisiera saber como hago para llamar un metodo que se encuentra en una clase, y quiero mandar a llamar ese metodo pero en otra clase, pero ese metodo despues de mandarlo a llamar me aparesca dentro de un arreglo. es sobre arreglos objetos y metodos. si pudiera darme a lgun ejemplo se agradeceria mucho.
Octubre 11, 2007 #
hola de nuevo.
me dejaron un ejercicio sobre string que tiene 9 caracteres, de los cuales 8 son numeros y el ultimo una letra. me piden que que esos que esa string es correcto o no. si lo es mostrara por consola su parte ademas su parte numerica y si no solo su parte nuemerica. quisiera saber que metodos de la string puedo utilizar. se lo agradeceria mucho.
Febrero 22, 2008 #
Como le puedo hacer para Realizar una función, a la cual se le pasen dos cadenas de caracteres (s1 y s2) como parámetro y regrese el numero de veces que aparece la cadena s1 en la cadena s2.
Mayo 25, 2008 #
oye mecetiso que me ayuden hacer un programa de notacion polaca please con el uso de Stack porfa ayudame .
Me dejaron un Ejercicio, pero el maestro nunca nos explico NADA sobre esto, dice:
Sea la exprecion:
3 + ( 4 * a) – ( 2 * b )
Utilizando una pila:
A) Definir estructura que debe de usarse
B) Definir pila
C) Determinar secuencia de operacion push / pop para
evaluar la expresion con notacion polaca infija,
posfija y prefija
Me podrias ayudar a resolver esto?
ó explicar como podria resolverlo. Porfavor Estoy Desesperado
eljuezdelavida@hotmail.com si alguien me puede ayudar
Octubre 8, 2008 #
necesito un programa en java q´utilize el procedimiento polaca utilizando notacion posfija y n. infija
Septiembre 9, 2009 #
Hola, quisiera saber como retornar la palabra mas grande en un metodo, me pide que sea int y no se como plantearlo exactamente:
public int palabraLarga(String texto) {
StringTokenizer palabras = new StringTokenizer(texto);
String sCadena;
String palabraMasGrande = “”;
int palabraMasGrandeSize = 0;
int palabrasMuch = palabras.countTokens();
for (int x = 0; x palabraMasGrandeSize) {
palabraMasGrande = sCadena;
System.out.println(sCadena);
}
}
return Integer.parseInt(palabraMasGrande);
}
Asi me bota erro, gracias de antemano.
Octubre 17, 2010 #
hola, necesito por favor una ayuda, tengo q hacer un ejercicio en donde se cuentes las letras de una palabras y no se como hacerlo….
les agradesco su ayuda.
Octubre 20, 2011 #
Hola muy buena tu pagina! pero tengo una duda que seria utilizar mejor un countoken() o .length() para contar las palabras en un string?. o en que casos usar cada uno ? o que ventajas o diferencias tiene estos metodos
Estoy haciendo un analizador lexico en java y no estoy muy seguro de que usar
Mayo 15, 2012 #
[...] El código para encontrar la palabra más larga de una frase lo tienes en http://lineadecodigo.com/java/java-y-la-palabra-mas-larga-de-una-frase/ [...]