Java
Ejercicios
Ejercicios
  • 02-Estructuras de control y bucles
    • Ejercicios de estructuras de control
    • Ejercicios de estructuras de control II
  • 06-Patrones de diseño
    • Ejercicio MVC en JAVA
  • 08-Flujos y Ficheros
    • Ejercicio de Redirección y Comunicación entre Procesos en Java
    • Ejercicio de Comunicación y Sincronización entre Tres Procesos en Java
  • 08-Flujos y Ficheros
  • 10-Swing
    • Ejercicio Aplicación de Notas Simples
    • Ejercicio Cálculadora básica
    • Ejercicio: Aplicación de Lista de Tareas con layouts
    • Ejercicio: Dibujo de figuras con Graphics
    • Ejercicio: Aplicación de Control de Color de un Rectángulo
    • Ejercicio: Dibujo de una clase vista
  • 03-Arrays y colecciones
    • 03.01-Arrays
      • Sistema de Gestión de Cine
      • Ejercicios básicos de arrays
    • 03.02-Colecciones
      • Sistema de Gestión de Canales de YouTube
  • 05-POO
    • 05.1-POO Iniciación
      • Ejercicio: Sistema de Gestión para una Biblioteca
      • Ejercicio de arrays. Aventura de los Patapons
      • Ejercicios básicos sobre POO
    • 05.2-POO Clases Abstractas
      • Sistema de Gestión de Vehículos
    • 05.6-Generales de POO
      • Ejercicio: Sistema de Gestión de Empleados
      • Aventuras en el Laberinto Encantado
      • Ejercicio de Pasapalabra
  • Soluciones
    • 02-Estructuras de control y bucles
      • [Solución] Ejercicios de estructuras de control II
    • 06-Patrones de diseño
      • [Solucion] Ejercicio MVC en JAVA
    • 08-Flujos y Ficheros
      • Solución de Ejercicio de Redirección y Comunicación entre Procesos en Java
      • Solución de Ejercicio de Comunicación y Sincronización entre Tres Procesos en Java
    • 10-Swing
      • [Solución] Ejercicio Aplicación de Notas Simples
      • [Solución] Ejercicio Cálculadora Simple
      • [Solución] Ejercicio: Aplicación de Lista de Tareas con layouts
      • [Solución] Ejercicio: Dibujo de figuras con Graphics
      • [Solución] Ejercicio: Dibujo de figuras con Graphics
      • [Solución] Ejercicio: Aplicación de Control de Color de un Rectángulo
    • 03-Arrays y colecciones
      • 03.01-Arrays
        • [Solución] Ejercicios de estructuras de control 2
        • [Solución] Sistema de Gestión de Cine
        • [Solución] Ejercicios básicos de arrays
      • 03.02-Colecciones
        • [Solución] Sistema de Gestión de Canales de YouTube
    • 05-POO
      • 05.1-POO Iniciación
        • [Solución] Ejercicio de arrays. Aventura de los Patapons
        • [Solución] Ejercicios básicos sobre POO
      • 05.2-POO Clases Abstractas
        • [Solución] Sistema de Gestión de Vehículos
      • 05.6-Generales de POO
        • Solución de Sistema de Gestión de Empleados
        • [Solución] Aventuras en el Laberinto Encantado
        • [Solución] Ejercicio de Pasapalabra
Powered by GitBook
On this page
  • 1. Pedir una cadena de caracteres al usuario
  • 2. Pedir una frase al usuario y mostrar cada palabra en una línea distinta y numerada
  • 3. Pedir una frase al usuario y contar el número de vocales que tiene
  • 4. Pedir una frase y una letra al usuario, contar el número de repeticiones de esa letra en la frase
  • 5. Cadena espejo. Crea un programa que reciba una cadena de caracteres y la devuelva invertida con efecto espejo, esto es, se concatena a la palabra original su inversa, compartiendo la última letra, que hará de espejo, por lo que la palabra obtenida se lee igual hacia adelante que hacia atrás
  • 6. Pedir al usuario dos palabras y dos letras:
  • Ejemplo de ejecución
  1. Soluciones
  2. 02-Estructuras de control y bucles

[Solución] Ejercicios de estructuras de control II

1. Pedir una cadena de caracteres al usuario

Se dirá: 1- Cuántos espacios tiene 2- Cuántas mayúsculas tiene 3- Cuántas minúsculas tiene

import java.util.Scanner;

public class AnalisisCadena {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce una cadena de caracteres:");
        String cadena = scanner.nextLine();

        int espacios = 0;
        int mayusculas = 0;
        int minusculas = 0;

        // Iteramos sobre cada carácter de la cadena.
        for (char c : cadena.toCharArray()) {
            if (c == ' ') {
                espacios++; // Contamos los espacios.
            } else if (Character.isUpperCase(c)) {
                mayusculas++; // Contamos las mayúsculas.
            } else if (Character.isLowerCase(c)) {
                minusculas++; // Contamos las minúsculas.
            }
        }

        // Mostramos los resultados.
        System.out.println("Espacios: " + espacios);
        System.out.println("Mayúsculas: " + mayusculas);
        System.out.println("Minúsculas: " + minusculas);
    }

2. Pedir una frase al usuario y mostrar cada palabra en una línea distinta y numerada

import java.util.Scanner;

public class SepararFrase {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce una frase:");
        String frase = scanner.nextLine();

        // Separamos la frase en palabras.
        String[] palabras = frase.split(" ");

        // Mostramos cada palabra en una nueva línea, numerada.
        int numero = 1;
        for (String palabra : palabras) {
            System.out.println(numero + ". " + palabra);
            numero++;
        }
    }
}

3. Pedir una frase al usuario y contar el número de vocales que tiene

import java.util.Scanner;

public class ContarVocales {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce una frase:");
        String frase = scanner.nextLine();

        int vocales = 0;

        // Convertimos la frase a minúsculas para hacer la comprobación más fácil.
        frase = frase.toLowerCase();

        // Contamos las vocales.
        for (char c : frase.toCharArray()) {
            if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
                vocales++;
            }
        }

        // Mostramos el número de vocales.
        System.out.println("Número de vocales: " + vocales);
    }
}

4. Pedir una frase y una letra al usuario, contar el número de repeticiones de esa letra en la frase

import java.util.Scanner;

public class ContarLetras {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce una frase:");
        String frase = scanner.nextLine();
        System.out.println("Introduce una letra:");
        char letra = scanner.next().charAt(0);

        int repeticiones = 0;

        // Contamos las repeticiones de la letra.
        for (char c : frase.toCharArray()) {
            if (c == letra) {
                repeticiones++;
            }
        }

        // Mostramos el número de repeticiones.
        System.out.println("Número de repeticiones de la letra '" + letra + "': " + repeticiones);
    }
}

5. Cadena espejo. Crea un programa que reciba una cadena de caracteres y la devuelva invertida con efecto espejo, esto es, se concatena a la palabra original su inversa, compartiendo la última letra, que hará de espejo, por lo que la palabra obtenida se lee igual hacia adelante que hacia atrás

Por ejemplo, al introducir “teclado” devolverá “tecladodalcet” y al introducir “goma” devolverá “gomamog”

import java.util.Scanner;

public class CadenaEspejo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce una palabra:");
        String palabra = scanner.nextLine();

        // Construimos la cadena espejo.
        String inversa = new StringBuilder(palabra).reverse().toString();
        String espejo = palabra + inversa.substring(1);

        // Mostramos la cadena espejo.
        System.out.println("Cadena espejo: " + espejo);
    }
}

6. Pedir al usuario dos palabras y dos letras:

a. Mostrar al usuario todas las posiciones de la primera letra en la primera palabra. b. Mostrar la primera palabra sustituyendo la primera letra por la segunda. c. Mostrar la primera palabra al revés. d. Mostrar la segunda palabra en mayúsculas. e. Concatenar a continuación de la primera palabra la segunda. f. Mostrar la segunda palabra omitiendo las veces que aparezca la segunda letra.

Ejemplo de ejecución

Introduce la palabra 1:
cocacola
Introduce la palabra 2:
adios
Introduce el caracter 1:
o
Introduce el caracter 2:
a
a: Posiciones de la letra 'o' en 'cocacola': 1,5
b: Cocacola cambiando 'o' por 'a': cacacala
c: Cocacola al revés: alocacoc
d: Adios en mayusculas: ADIOS
e: Cocacolaadios
f: Adios omitiendo la a: dios
import java.util.Scanner;

public class OperacionesPalabras {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduce la palabra 1:");
        String palabra1 = scanner.nextLine();
        System.out.println("Introduce la palabra 2:");
        String palabra2 = scanner.nextLine();
        System.out.println("Introduce el caracter 1:");
        char caracter1 = scanner.next().charAt(0);
        System.out.println("Introduce el caracter 2:");
        char caracter2 = scanner.next().charAt(0);

        // a. Mostrar todas las posiciones del caracter1 en palabra1.
        System.out.print("Posiciones de la letra '" + caracter1 + "' en '" + palabra1 + "': ");
        for (int i = 0; i < palabra1.length(); i++) {
            if (palabra1.charAt(i) == caracter1) {
                System.out.print(i + " ");
            }
        }
        System.out.println(); // Salto de línea.

        // b. Mostrar palabra1 sustituyendo caracter1 por caracter2.
        System.out.println("Palabra cambiando '" + caracter1 + "' por '" + caracter2 + "': " +
                palabra1.replace(caracter1, caracter2));

        // c. Mostrar palabra1 al revés.
        System.out.println("Palabra al revés: " + new StringBuilder(palabra1).reverse().toString());

        // d. Mostrar palabra2 en mayúsculas.
        System.out.println("Palabra en mayúsculas: " + palabra2.toUpperCase());

        // e. Concatenar palabra2 al final de palabra1.
        System.out.println("Concatenación: " + palabra1 + palabra2);

        // f. Mostrar palabra2 omitiendo el caracter2.
        System.out.println("Palabra omitiendo '" + caracter2 + "': " +
                palabra2.replace(String.valueOf(caracter2), ""));
    }
}
Previous02-Estructuras de control y buclesNext06-Patrones de diseño

Last updated 1 year ago