jueves, 9 de julio de 2026

Contar las palabras de una cadena en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int i = 0, c = 1;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un texto: ");
        String s = sc.nextLine();
        while(i < s.length()){
            if(s.charAt(i) == ' '){
                c++;
            }
            i++;
        }
        System.out.println("El texto tiene " + c + " palabras.");
    }

}

Definición de los códigos del ejercicio:

import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.println() --> imprime el texto en la consola y el cursor permanece al comienzo de la siguiente línea en la consola.
int --> dato entero de 32 bits.
String --> dato de tipo cadena de texto.
nextLine() --> se utiliza para obtener la entrada del usuario.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
length() --> devuelve la longitud de una cadena.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
charAt() --> devuelve el carácter en el índice especificado en una cadena. El índice del primer carácter es 0, el segundo carácter es 1 y así sucesivamente.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
+ --> el operador ( + ) concatena variables de cadena.

Explicación del Código:

Este programa permite ingresar un texto y contar cuántas palabras contiene. El programa considera que cada palabra está separada por un espacio. Para lograrlo, recorre el texto carácter por carácter y cuenta la cantidad de espacios encontrados. Al final, suma una palabra más, ya que normalmente el número de palabras es igual al número de espacios más uno.

Código

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int i = 0, c = 1;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un texto: ");
        String s = sc.nextLine();
        while(i < s.length()){
            if(s.charAt(i) == ' '){
                c++;
            }
            i++;
        }
        System.out.println("El texto tiene " + c + " palabras.");
    }

}

Explicación del código

1. Declaración del paquete

package ejercicio;

Indica que la clase pertenece al paquete llamado ejercicio. Los paquetes sirven para organizar los archivos de un proyecto.

2. Importar Scanner

import java.util.Scanner;

Importa la clase Scanner, que permite leer datos escritos por el usuario desde el teclado.

3. Crear la clase principal

public class Ejercicio {

Se crea la clase donde estará todo el programa.

4. Método principal

public static void main(String[] args) {

Es el método donde comienza la ejecución del programa.

5. Declaración de variables

int i = 0, c = 1;
  • i: almacena la posición actual del texto.
  • c: almacena la cantidad de palabras encontradas.

La variable c inicia en 1 porque si existe una palabra y no hay espacios, el texto ya contiene una palabra.

6. Crear el objeto Scanner

Scanner sc = new Scanner(System.in);

Crea un objeto que permitirá leer lo que escriba el usuario.

7. Solicitar el texto

System.out.print("Ingrese un texto: ");

Muestra un mensaje indicando que el usuario debe escribir un texto.

8. Leer el texto completo

String s = sc.nextLine();

Guarda toda la línea escrita por el usuario en la variable s.

9. Recorrer toda la cadena

while(i < s.length()){

El ciclo while recorre el texto desde el primer carácter hasta el último.

  • i comienza en 0.
  • s.length() devuelve la cantidad de caracteres del texto.
  • Mientras i sea menor que la longitud del texto, el ciclo continúa.

10. Verificar si el carácter es un espacio

if(s.charAt(i) == ' '){

charAt(i) obtiene el carácter ubicado en la posición i.

Si ese carácter es un espacio (' '), significa que terminó una palabra y comienza otra.

11. Contar una palabra más

c++;

Cada vez que encuentra un espacio, aumenta el contador de palabras en uno.

12. Pasar al siguiente carácter

i++;

Incrementa la posición para revisar el siguiente carácter del texto.

13. Mostrar el resultado

System.out.println("El texto tiene " + c + " palabras.");

Muestra la cantidad total de palabras encontradas en el texto.

Funcionamiento paso a paso

  1. El usuario escribe un texto.
  2. El programa recorre todos los caracteres del texto.
  3. Cada vez que encuentra un espacio, aumenta el contador de palabras.
  4. Cuando termina de recorrer el texto, muestra el total de palabras encontradas.

Ejemplo de ejecución

Entrada:

Ingrese un texto: Java es un lenguaje de programación

Salida:

El texto tiene 6 palabras.

Resumen

Este programa utiliza un ciclo while para recorrer una cadena carácter por carácter. Cada vez que encuentra un espacio incrementa un contador, ya que los espacios separan las palabras. Finalmente, muestra cuántas palabras contiene el texto ingresado.

No hay comentarios.:

Publicar un comentario

Determinar el número mayor y el número menor de n números en Java

Código del ejercicio: package ejercicio; import java.util.Scanner; public class Ejercicio {     public static void main...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️