Título: Ejercicio Java Publicado por: Baal_30 en 12 Diciembre 2014, 23:23 pm Buenas, necesito hacer un código que cuente el número de palabras que contiene un String. Lo he hecho contando los espacios y sumando uno, pero tiene que contar con la posibilidad de que se hayan introducido 2 o más espacios... El código que tengo hasta ahora y donde me he quedado atascado es este :
Código
Un saludo. Título: Re: Ejercicio Java Publicado por: Shell Root en 12 Diciembre 2014, 23:52 pm Yo preferiría utilizar .charAt() para recorrer todos los caracteres uno a uno y así identificar la cantidad total, por ejemplo: (No tengo un compilador así que lo haré mentalmente)
Código
EDIT: No había leido bien lo que necesitabas ajajjaa, espera un momento si puedo lograr algo. Título: Re: Ejercicio Java Publicado por: Baal_30 en 12 Diciembre 2014, 23:56 pm Si, así te cuenta las palabras correctamente ( en realidad tendrías que inicializar el contador a 1, ya que la última palabra sino no la contaría porque no lleva espacio ).
El problema es que tengo que tener en cuenta si se introducen más de un espacio seguido, que no los cuente como palabras. Por ejemplo : Hola que tal <--- Tiene 3 palabras, y el código ese contaría 2 espacios y si le sumas uno al contador, pues te daría 3. Pero : Hola que tal <--- También tiene 3 palabras, pero con ese código no te indicaría las que realmente tiene, sino el número de espacios que hay (más uno). Título: Re: Ejercicio Java Publicado por: agusdmb en 14 Diciembre 2014, 05:55 am lo q yo haria es usar lo q el te dijo mas arriba... pero hacer antes un pre procesado del texto ingresado.. (esto no es lo mas eficiente, pero teniendo ya parte hecho si es lo mas rapido)
entonces deberias hacer una funcion q le pases una cadena de texto por ejemplo: " holaa como estas y muchos espacios salteados , a al final tambien " y lo q el pre procesado haga sea sacar todos los espacios antes de la primer letra, y desp de la ultima, y a la vez cada vez q encuentre un espacio en el texto, quitar los siguientes hasta la proxima letra... luego la salida de este metodo se lo metes al q ya tienes Título: Re: Ejercicio Java Publicado por: crack81 en 14 Diciembre 2014, 07:06 am prueba con este codigo parece que resuelve tu problema
Código
el codigo intenta evitar las posibles excepciones Título: Re: Ejercicio Java Publicado por: Baal_30 en 14 Diciembre 2014, 11:20 am Voy a probar el código ¡! Muchas gracias a todos ;)
Un saludo. Título: Re: Ejercicio Java Publicado por: MNicolas en 18 Diciembre 2014, 18:22 pm String delimitadores= "[ .,;?!¡¿\'\"\\[\\]]+";
listaDePalabras = frase.split(delimitadores); La string delimitadores contiene los separadores, entre corchetes y con un + al final. Una vez decididos los delimitadores que quieres el .split te genera una array con las palabras. miString.split(delimitadores); esto lo que devuelce es una string con las palabras del string usando como referencia los delimitadores, da igual que tengas tres espacios seguidos, comas etc... funciona perfectamente. |