jump to navigation

Contar palabras en Java Enero 26, 2007

Publicado por lineadecodigo en : Java , trackback

La idea del ejemplo es ver como podemos contar las palabras de un texto en Java. Podríamos hacerlo de diferentes formas, pero vamos a utilizar la clase StringTokenizer para solucionar nuestro problema.

Lo primero que tenemos que hacer es definir una frase dentro de una cadena de texto:

String sTexto = "En un lugar de la mancha";

La clase StringTokenizer trocea una cadena a partir de un deliminator dado. En el caso de que no le indiquemos el indicador a usar utilizará el espacio en blanco. Veamos como se utilizaría con la frase anterior:

StringTokenizer st = new StringTokenizer(sTexto);

Una vez creado el StringTokenizer (es como un Enumerado) podremos recorrerle para ver en cuantas palabras ha troceado nuestro texto o bien invocar al método .countTokens() que devuelve el número de elementos que contiene el StringTokenizer.

Y simplemente nos quedará volcarlo por pantalla:

System.out.println ( st.countTokens() );

Visualizar el ejemplo | Descargar el código

Articulos Similares:

|- Foro sobre Java Básico

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 27044 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (5 votos, media: 4.60 de 5)
Loading ... Loading ...

Comentarios»

1. emiliano - Enero 31, 2007

StringTokenizer st = new StringTokenizer(sTexto);
System.out.println ( stTexto.countTokens() );

mmm, no entiendo el objeto stTexto que utilizas para llamar al metodo countTokens. ¿¿Donde lo creaste?? Lo correcto no sería:
System.out.println ( st.countTokens() );
???

2. lineadecodigo - Enero 31, 2007

Había un error en el código. Realmente sTexto representa la cadena de texto a ser troceada, mientras que st es el StringTokenizer.

He modificado el artículo para que quede más claro y he puesto un enlace para descargar el código y que así ayude más.

Espero sea de ayuda.

3. oscar diaz rodriguez - Febrero 6, 2007

m pues en la universidad me encargaron un programa parecido, que contara las palabras y el numero de lineas que ocupaba, este ejemplo me sirve pero necesito sabes como lo puedo hacer en el ready tu program que es un compilador que utilizamos para hacer los programas.

ojala me puedan ayudar

4. alvaro - Junio 1, 2007

hola necesito contar palabras pero habiendo cargado un txt en un area de texto, esta parte ya la tengo ahora necesito saber como implemento el token sobre el archivo que cargo en mi programa.

5. alvaro ostos - Junio 1, 2007

como hago para hacer un reporte en orden alfabetico

6. Karla Espinosa - Junio 20, 2007

kiero un programa que cuente cuántos ceros hay en un arreglo

7. luis - Agosto 21, 2007

como puedo saver cual es la palabra mas larga dentro de un string

8. Linea de Codigo » Java y la palabra más larga de una frase - Agosto 26, 2007

[...] 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. [...]

9. lineadecodigo - Agosto 26, 2007

Luis, como puedes ver en el anterior comentario, he creado una entrada que te explica como saber Cual es la palabra más larga de una frase en Java:

Espero te sea de ayuda…

10. Estrella Berenice Rosales Mata - Septiembre 24, 2007

Por medio de este escrito me permito pedirle ayuda sobre como programar en Java o Netbeans.
Como puedo hacer un punto en java y que este se mueva a la ves cuando yo pulse las flechas de desplazamiento? El punto debe aparecer una ves que yo haya corrido el programa y se debe mover cundo yo pulse las flechas de desplazamiento.
Le agradecería su ayuda, por que yo no se como hacerlo y creo que esta un poco complicado.
Gracias por su comprensión…

Cd. y Pto. de Lázaro Cárdenas a 24 Septiembre del 2007
Estudiante del Tecnologico de Lázaro Cardenas

11. Leyna Salinas - Septiembre 25, 2007

QUISIERA SABER SI EXISTE UN METODO DE LA CLASE STRINGTOKENIZER QUE RETROCEDA LOS TOKENS

12. lineadecodigo - Septiembre 26, 2007

Leyla,

¿Que quieres decir con que “retroceda” los tokens? ¿Puedes poner un ejemplo?

Gracias.

13. benjamin - Octubre 4, 2007

Hola, necesito saber una manera de como contar las lineas de codigo para hacer un compilador. Pero que estas estén siempre visibles para los usuarios. Es decir, crear un objeto que las esté mostrando como en un compilador normal.

14. EDERZM - Octubre 4, 2007

Chevere..lo estoy utilizando en un ejercicio para compiladores..bien1!!!

15. Tati - Marzo 12, 2008

Hola quisiera saber como comparar tokens

16. Marco - Marzo 31, 2008

Acaso no debo importar algo de la API?????, como por ejemplo para utilizar JOptioPane debo importarlo… aca que debo importar??

17. chela - Abril 18, 2008

quiesiera saber si alguien me puede ayudar a crear un troyano en java se los agradeceria mucho

18. hector alberto - Junio 4, 2008

quisiera saber como puedo cortar un string apartir de que en este encuentre un punto(.)
espero que me ayuden gracias

19. Gabriela - Junio 19, 2008

hola quisiera saber como se puede sacar la derivada de una funcion utilizando la Clase StringTokenizer y sus metodos, ya llevo una parte de codigo pero ya no se como, espero q me puedan ayudar muxas gracias.

20. mayito25 - Julio 5, 2008

hola quisiera saber como puedo contar las lineas de un bloque de texto, es decir quiero contar las lineas que tiene una clase, pero mi archivo tal vez contiene varias clases a la vez.. umm no c si m explique pero stoi haciendo un contador de lineas de codigo y ahora quiero contar las lineas por cada clase, no se m ocurre como podria hacer tal vez me imagino que obteniendo la posicion dond encunetre la primera “class” y de ahi contar pero como delimito hasta donde contar…. ups bueno ojala alguien pueda ayudarme gracias. =)

21. Ricardo - Agosto 28, 2008

quisiera saber si alguien me podria ayudar , la verdad lo que necesito es de suma importancia para mi , lo que pasa es que estoy obteniendo de un archivo de texto y lo convierto a string , eso esta bine ,pero lo que encesito es dividir el String por medio de tokens , el string tokenizer te los divide por un determinante no por varios , y el split por funcion regex, y en regex no le indicas tu cuakl detemrinante lo toma default por las funciones que tiene , lo que yo quiero es controlar por medio de un arreglo, los determionantes, ahi va algo para que se dne una idea , de lo que quiero .

StringTokenizer palabras=new StringTokenizer(Linea de texto,determinante[]);

si alguine me pude ayudar , por favor nada d ejuegos.

ricardo.driju@gmail.com

22. Luis Alejandro Velázquez Macías - Octubre 6, 2008

HOLA, NECESITO SABER COMO PUEDO CONTAR LAS LINEAS DE CADA METODO CON UN PROGRAMA HECHO EN JAVA………….ALGUIEN QUE ME ORIENTE POR FAVOR

23. Rito - Octubre 30, 2008

Hola Quisiera Saber como le puedo hacer para por medio de uso de Pilas en java, ingresar una frase, guardarla en la pila, y que me devuelva la misma frase pero inversa, se que es tan simple como meter la frase a la pila con push(), y sakar la frase con el pop(), y quedara inversa, pero no tengo la menor idea de como implementarlo bien en java, y supongo que con el metodo Stringtokenizer puedo lograr algo, ojala puedan ayudarme

24. minerva - Febrero 15, 2009

Hola que tal me gustaria saber como puedo hacer una funcion en java para que me cuente las lineas de codigo logico (cuantos for, while existen en el archivo) de un archivo .java que de igual modo tendré que leer.

25. Pidalgo - Marzo 27, 2009

hola a todos tengo varias dudas es que soy principiante en java
ps laprimera es esta linea que importa o que es lo que hace
—-package com.lineadecodigo.java.string;——
la segunda es que me dijeron que el main lleva una sintaxis y que no se puede cambiar o por que pusiste (java.lang.String[] args) es lo mismo que solo poner (String args[])
——–public static void main(java.lang.String[] args)—–
y por ultimo creas un objeto de la clase StringTokenizer como para que??? digo si ya importaste la clase acaso no tienes acceso directo a sus metodos… o mejor dicho por que le envias como argumento la casena stTexto y luego llamas al objeto con el mismo nombre??? para que o no entiendo….
—-StringTokenizer stTexto = new StringTokenizer(sTexto);—-
ps de antemano gracias por mostrar estas pequeñas clases…

26. Manuel Luis Morales - Junio 18, 2009

Interpreten este codigo, y quiero que me digan que imprime, o me lo envien a mi correo electronico.

public class HolaMundo
{
public static void main(String[]args)
{
System.out.println(“Hola Mundo”);
}
}

27. lineadecodigo - Junio 20, 2009

@Manuel Luis Morales,

Ese código genera un “Hola Mundo” en pantalla. Tienes una explicación detallada en el artículo:

Hola Mundo en Java

Espero que te sirva.

28. lineadecodigo - Junio 20, 2009

@Pidalgo,

Te voy contestando por partes.

  1. El package com.lineadecodigo… es una forma de organizar el código de la página. Si visitas el repositorio de código java de lineadecodigo.com podrás ver cómo se organizan los ejemplos en paquetes.
  2. java.lang es el paquete dónde está la clase String. Aunque lo más cómodo es escribirlo como tú dices con el String, en vez de con java.lang.String. Aunque sirven los dos.
  3. La verdad que viendo las variables no he utilizado unos nombres muy apropiados. El StringTokenizer es ST, mientras que el texto es S. Pero al verlas juntas parece la misma variable. La clase StringTokenizer recibe la clase String que quiere partir. StringTokenizer es una clase diferente a String. Es por eso que hay que instanciarla.

Espero que las aclaraciones te hayan ayudado.

29. lineadecodigo - Junio 20, 2009

@hector alberto,

Puedes utilizar el StringTokenizer con un delimitador. En tu caso un punto.

El código quedaría así:
StringTokenizer st = new StringTokenizer(sTexto,”.”);

30. lineadecodigo - Octubre 19, 2009

@Rito,

Hemos publicado el ejemplo de como Invertir una frase mediante una pila. Espero que te sea de ayuda.

31. cofla - Noviembre 30, 2009

necesito hacer un codigo que al introducir un texto o palabra en un area de texto y en otra area de texto coloque una letra me o palabra me la busque…….en la primera …..!”·!”·!·
como lo hago..
ayuda
martin.nieto_g16@hotmail.com




Si tienes dudas sobre Java Básico no dudes en visitar el Foro sobre Java Básico.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen