miércoles, 8 de julio de 2026

Determinar la frecuencia de dígitos de un número en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int c = 0, aux = 0, r = 0, fd = 0, n;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un número: ");
        n = sc.nextInt();
        while(c <= 9){
            aux = n;
            fd = 0;
            while(aux > 0){
                r = aux % 10;
                if(r == c){
                    fd++;
                }
                aux = (aux - r) / 10;
            }
            if(fd > 0){
                System.out.println("La frecuencia de " + c + " es: " + fd);
            }
            c++;
        }
    }

}

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.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
++ --> 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 solicita al usuario un número entero y cuenta cuántas veces aparece cada dígito (del 0 al 9). Al finalizar, muestra únicamente los dígitos que están presentes en el número junto con la cantidad de veces que se repiten.

1. Declaración de variables

  • int c = 0; → Guarda el dígito que se está buscando. Empieza en 0 y termina en 9.
  • int aux = 0; → Guarda una copia del número para poder recorrerlo sin modificar el original.
  • int r = 0; → Almacena el último dígito obtenido del número.
  • int fd = 0; → Cuenta cuántas veces aparece el dígito que se está buscando.
  • int n; → Guarda el número ingresado por el usuario.

2. Crear el Scanner

Se crea un objeto Scanner para poder leer el número que escribe el usuario desde el teclado.

3. Solicitar el número

Se muestra el mensaje "Ingrese un número:" y luego el programa almacena el valor introducido en la variable n.

4. Recorrer los dígitos del 0 al 9

El ciclo while(c <= 9) revisa uno por uno todos los dígitos posibles:

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Para cada uno de ellos, el programa contará cuántas veces aparece dentro del número.

5. Copiar el número

Antes de comenzar el conteo, el programa hace:

  • aux = n; → Copia el número original.
  • fd = 0; → Reinicia el contador de frecuencia.

Esto permite volver a recorrer el número desde el principio para buscar otro dígito.

6. Recorrer cada cifra del número

El ciclo while(aux > 0) analiza el número cifra por cifra hasta que ya no queden dígitos.

7. Obtener el último dígito

La instrucción:

r = aux % 10;

Obtiene el último dígito del número.

Ejemplo:

  • 4825 → obtiene 5.
  • 731 → obtiene 1.
  • 90 → obtiene 0.

8. Comparar el dígito

Si el último dígito es igual al valor almacenado en c, significa que se encontró una coincidencia.

Entonces se ejecuta:

fd++;

Esto aumenta en uno el contador de frecuencia.

9. Eliminar el último dígito

La instrucción:

aux = (aux - r) / 10;

Elimina el último dígito para continuar revisando el siguiente.

Ejemplo:

  • 4825 → 482
  • 482 → 48
  • 48 → 4
  • 4 → 0

10. Mostrar la frecuencia

Cuando termina de revisar todo el número, el programa verifica:

if(fd > 0)

Si el contador es mayor que cero, significa que ese dígito apareció en el número y se muestra su frecuencia.

Ejemplo:

La frecuencia de 2 es: 3
La frecuencia de 5 es: 1

11. Pasar al siguiente dígito

La instrucción:

c++;

Hace que el programa busque el siguiente dígito hasta llegar al 9.

Resumen del funcionamiento

  1. Se ingresa un número.
  2. El programa busca cuántas veces aparece el 0.
  3. Luego cuenta el 1.
  4. Después el 2.
  5. Continúa con todos los dígitos hasta el 9.
  6. Finalmente muestra únicamente los dígitos que aparecen y su cantidad de repeticiones.

Calcular el producto entre a y b sin utilizar multiplicación en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        double ac = 0, c = 0, a, b;
        Scanner sc = new Scanner(System.in);
        System.out.print("a: ");
        a = sc.nextDouble();
        System.out.print("b: ");
        b = sc.nextDouble();
        while(c < b){
            ac += a;
            c++;
        }
        System.out.print(ac);
    }

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
double --> representa números de coma flotante de 64 bits y precisión doble.
nextDouble() --> lee un número de coma flotante desde consola (teclado).
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.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa calcula el producto de dos números sin utilizar el operador *. En su lugar, realiza una suma repetitiva, agregando el valor de a tantas veces como indique el valor de b.

Código

double ac = 0, c = 0, a, b;

Se declaran cuatro variables:

Variable Función
ac Acumula el resultado de la suma repetitiva.
c Es el contador del ciclo while.
a Primer número ingresado por el usuario.
b Segundo número. Indica cuántas veces se sumará a.

Crear el objeto Scanner

Scanner sc = new Scanner(System.in);

Se crea un objeto Scanner para leer los datos ingresados desde el teclado.

Leer el valor de a

System.out.print("a: ");
a = sc.nextDouble();

Se solicita al usuario ingresar el primer número y se guarda en la variable a.

Leer el valor de b

System.out.print("b: ");
b = sc.nextDouble();

Se solicita el segundo número y se almacena en la variable b.

Ciclo while

while(c < b){
    ac += a;
    c++;
}

El ciclo se ejecuta mientras el contador c sea menor que b.

En cada repetición:

  • Se suma el valor de a al acumulador ac.
  • El contador c aumenta en uno.

De esta manera, el programa reemplaza la multiplicación por varias sumas consecutivas.

Mostrar el resultado

System.out.print(ac);

Al finalizar el ciclo, se imprime el resultado almacenado en ac, que corresponde al producto entre a y b.

Ejemplo de ejecución

Entrada:

a: 4
b: 3

Proceso:

Iteración Valor de ac
1 4
2 8
3 12

Salida:

12
Resumen: El programa multiplica dos números sin utilizar el operador de multiplicación (*). Para lograrlo, suma el valor de a tantas veces como indique b, utilizando un ciclo while y un acumulador.

Invertir una cadena ingresado por teclado en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un texto: ");
        String s = sc.nextLine();
        int i = s.length() -1;
        String aux = "";
        while(i >= 0){
            aux += s.charAt(i);
            i--;
        }
        System.out.print(aux);
    }

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto 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.
length() --> devuelve la longitud de una cadena.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
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 decremento (--) disminuye (o resta de a uno) su operando y retorna un valor.

Explicación del Código:

1. Importar Scanner

import java.util.Scanner;
Importa la clase Scanner, la cual permite leer datos que el usuario escribe desde el teclado.

2. Crear el método principal

public static void main(String[] args)
Es el punto de inicio del programa. Todo el código comienza a ejecutarse desde este método.

3. Crear el objeto Scanner

Scanner sc = new Scanner(System.in);
Crea un objeto llamado sc que se utilizará para leer el texto ingresado por el usuario.

4. Solicitar un texto

System.out.print("Ingrese un texto: ");
Muestra un mensaje en pantalla indicando que el usuario debe escribir un texto.

5. Guardar el texto

String s = sc.nextLine();
Lee toda la línea escrita por el usuario y la almacena en la variable s.

6. Obtener la última posición

int i = s.length() - 1;
Obtiene la posición del último carácter de la cadena. Se resta 1 porque las posiciones comienzan desde 0.

7. Crear una cadena vacía

String aux = "";
Se crea una variable vacía donde se irá formando el texto invertido.

8. Recorrer la cadena al revés

while(i >= 0)
El ciclo recorre la cadena desde el último carácter hasta el primero.

9. Agregar cada carácter

aux += s.charAt(i);
Obtiene el carácter ubicado en la posición i y lo agrega al final de la variable aux.

10. Disminuir el índice

i--;
Reduce el valor de i en una unidad para pasar al carácter anterior de la cadena.

11. Mostrar el resultado

System.out.print(aux);
Muestra en pantalla la cadena completamente invertida.

Resultado del algoritmo

Si el usuario escribe:

Hola Mundo

El programa mostrará:

odnuM aloH

En resumen, el algoritmo recorre el texto desde el último carácter hasta el primero, construyendo una nueva cadena con los caracteres en orden inverso.

Contar la vocal "u" en una cadena dada por teclado en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

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

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto 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.
toLowerCase() --> convierte una cadena en letras minúsculas.
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 solicita al usuario que escriba un texto, recorre todos sus caracteres y cuenta cuántas veces aparece la vocal "u", sin importar si fue escrita en mayúscula o minúscula.

Explicación de cada parte del código

  • 1. Declaración de variables

    int c = 0, i = 0;

    Se crean dos variables enteras:
    • c: almacena la cantidad de vocales u encontradas.
    • i: sirve como índice para recorrer la cadena carácter por carácter.
  • 2. Crear el objeto Scanner

    Scanner sc = new Scanner(System.in);

    Permite leer datos que el usuario escribe desde el teclado.
  • 3. Solicitar el texto

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

    Muestra un mensaje para que el usuario escriba una cadena.
  • 4. Leer el texto y convertirlo a minúsculas

    String s = sc.nextLine().toLowerCase();

    Guarda el texto ingresado y lo convierte completamente a letras minúsculas mediante toLowerCase(), permitiendo contar tanto las letras U como u.
  • 5. 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 que tiene la cadena.
  • 6. Verificar si el carácter es la vocal "u"

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

    • charAt(i) obtiene el carácter ubicado en la posición i.
    • Si ese carácter es igual a 'u', entonces se encontró una vocal u.
  • 7. Incrementar el contador

    c++;

    Cada vez que se encuentra una vocal u, el contador aumenta en uno.
  • 8. Avanzar al siguiente carácter

    i++;

    Incrementa el índice para continuar revisando el siguiente carácter de la cadena.
  • 9. Mostrar el resultado

    System.out.print("El texto tiene " + c + " vocales u.");

    Al finalizar el recorrido, muestra cuántas veces apareció la vocal u en el texto ingresado.

Resumen del funcionamiento

El programa realiza los siguientes pasos:

  1. Solicita un texto al usuario.
  2. Convierte el texto a minúsculas.
  3. Recorre todos los caracteres de la cadena.
  4. Compara cada carácter con la vocal "u".
  5. Cuenta cuántas veces aparece.
  6. Muestra el total encontrado.

Por ejemplo, si el usuario escribe:

Universidad del Sur

El programa contará todas las letras u y mostrará el número total de apariciones.

Contar la vocal "o" en una cadena dada por teclado en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

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

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto 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.
toLowerCase() --> convierte una cadena en letras minúsculas.
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 solicita al usuario que escriba un texto. Luego recorre cada uno de sus caracteres y cuenta cuántas veces aparece la vocal "o", sin importar si fue escrita en mayúscula o minúscula. Finalmente muestra la cantidad encontrada.

Explicación del código

Código Explicación
import java.util.Scanner; Importa la clase Scanner, que permite leer datos ingresados por el usuario desde el teclado.
public class Ejercicio Define la clase principal donde se encuentra todo el programa.
public static void main(String[] args) Es el método principal donde comienza la ejecución del programa.
int c = 0, i = 0; c almacena la cantidad de vocales "o" encontradas.
i sirve como índice para recorrer el texto carácter por carácter.
Scanner sc = new Scanner(System.in); Crea el objeto que permitirá leer el texto ingresado por el usuario.
System.out.print("Ingrese un texto: "); Muestra un mensaje solicitando que el usuario escriba un texto.
String s = sc.nextLine().toLowerCase(); Lee toda la línea escrita por el usuario y la convierte a minúsculas para contar correctamente tanto la O como la o.
while(i < s.length()) Recorre el texto desde el primer carácter hasta el último.
if(s.charAt(i) == 'o') Comprueba si el carácter actual es la vocal "o".
c++; Si el carácter es una "o", aumenta el contador en uno.
i++; Pasa al siguiente carácter del texto.
System.out.print("El texto tiene " + c + " vocales o."); Muestra la cantidad total de veces que apareció la vocal "o" en el texto.
Resumen del algoritmo:
  1. Solicita un texto al usuario.
  2. Convierte el texto a minúsculas.
  3. Recorre todos los caracteres de la cadena.
  4. Verifica si cada carácter es la vocal "o".
  5. Cuenta cada aparición de la vocal.
  6. Al finalizar, muestra el total de vocales "o" encontradas.

Contar la vocal "i" en una cadena dada por teclado en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

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

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto 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.
toLowerCase() --> convierte una cadena en letras minúsculas.
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 solicita al usuario que escriba un texto. Luego recorre la cadena carácter por carácter para contar cuántas veces aparece la vocal i, sin importar si fue escrita en mayúscula o minúscula. Finalmente muestra la cantidad encontrada.

Explicación del código

Código Explicación
int c = 0, i = 0; Se crean dos variables:
  • c: almacena la cantidad de vocales i encontradas.
  • i: sirve como índice para recorrer el texto.
Scanner sc = new Scanner(System.in); Crea el objeto Scanner para leer datos que escribe el usuario desde el teclado.
System.out.print("Ingrese un texto: "); Muestra un mensaje para pedir al usuario que escriba un texto.
String s = sc.nextLine().toLowerCase(); Guarda el texto ingresado en la variable s y lo convierte completamente a minúsculas usando toLowerCase(). Así, las letras I e i se consideran iguales.
while(i < s.length()) Recorre el texto desde el primer carácter hasta el último.
if(s.charAt(i) == 'i') Obtiene el carácter que está en la posición i y verifica si es la vocal i.
c++; Si el carácter es una i, incrementa el contador en uno.
i++; Avanza a la siguiente posición del texto para continuar revisando todos los caracteres.
System.out.print("El texto tiene " + c + " vocales i."); Muestra la cantidad total de veces que apareció la vocal i en el texto.

Funcionamiento paso a paso

  1. El usuario escribe un texto.
  2. El texto se convierte a minúsculas.
  3. El programa recorre cada letra del texto.
  4. Si encuentra una i, aumenta el contador.
  5. Al finalizar el recorrido, muestra cuántas vocales i encontró.

Ejemplo de ejecución

Entrada:
Ingrese un texto:
Mi bicicleta es linda
Proceso:
  • Se convierte a: mi bicicleta es linda..
  • Se revisa cada carácter.
  • Cada vez que aparece una i, el contador aumenta.
Salida:
El texto tiene 4 vocales i.

Resumen

Este algoritmo utiliza un ciclo while para recorrer todos los caracteres de una cadena. Gracias al método charAt() puede examinar cada letra individualmente y, cuando encuentra una vocal i, incrementa un contador. Al finalizar el recorrido, muestra el número total de veces que aparece dicha vocal en el texto.

Contar la vocal "e" en una cadena dada por teclado en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

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

}

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.print() --> imprime el texto en la consola y el cursor permanece al final del texto 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.
toLowerCase() --> convierte una cadena en letras minúsculas.
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 solicita al usuario un texto por teclado y cuenta cuántas veces aparece la vocal e. Para evitar diferencias entre letras mayúsculas y minúsculas, primero convierte todo el texto a minúsculas. Finalmente, muestra la cantidad de vocales e encontradas.

Explicación del código

Código Explicación
import java.util.Scanner; Importa la clase Scanner para poder leer datos ingresados por el usuario desde el teclado.
public class Ejercicio Declara la clase principal donde se encuentra todo el programa.
public static void main(String[] args) Es el método principal desde donde comienza la ejecución del programa.
int c = 0, i = 0; c almacena la cantidad de vocales e encontradas.
i representa la posición del carácter que se está revisando.
Scanner sc = new Scanner(System.in); Crea el objeto Scanner para leer datos desde el teclado.
System.out.print("Ingrese un texto: "); Solicita al usuario que escriba un texto.
String s = sc.nextLine().toLowerCase(); Lee todo el texto ingresado y lo convierte a minúsculas usando toLowerCase(), para que las letras E y e sean tratadas por igual.
while(i < s.length()) Recorre el texto carácter por carácter desde la primera posición hasta la última.
if(s.charAt(i) == 'e') Obtiene el carácter ubicado en la posición i mediante charAt(i) y verifica si es la vocal e.
c++; Si el carácter es una e, aumenta el contador en uno.
i++; Pasa al siguiente carácter del texto.
System.out.print("El texto tiene " + c + " vocales e."); Muestra la cantidad total de veces que apareció la vocal e en el texto.

Funcionamiento paso a paso

  1. El programa pide al usuario que escriba un texto.
  2. Convierte todo el texto a minúsculas.
  3. Recorre cada letra de la cadena.
  4. Si encuentra una e, incrementa el contador.
  5. Al finalizar el recorrido, muestra cuántas vocales e contiene el texto.

Ejemplo de ejecución

Ingrese un texto:
Este es un ejemplo

El texto tiene 5 vocales e.

Resumen

Este ejercicio enseña cómo recorrer una cadena utilizando un ciclo while, acceder a cada carácter con charAt(), obtener la longitud mediante length(), convertir un texto a minúsculas con toLowerCase() y utilizar un contador para saber cuántas veces aparece un carácter específico.

Determinar la frecuencia de dígitos de un número en Java

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

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