0% encontró este documento útil (0 votos)
193 vistas4 páginas

Tutorial 10

Este documento presenta tres ejercicios sobre el uso de la clase String en Java. El primer ejercicio cuenta las vocales en una cadena dada. El segundo ejercicio invierte una cadena dada. El tercer ejercicio cuenta cuántas veces se repite un caracter dado en una cadena. Cada ejercicio incluye una explicación de la lógica y el código de Java para resolverlo.

Cargado por

Ricard Altamir
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
193 vistas4 páginas

Tutorial 10

Este documento presenta tres ejercicios sobre el uso de la clase String en Java. El primer ejercicio cuenta las vocales en una cadena dada. El segundo ejercicio invierte una cadena dada. El tercer ejercicio cuenta cuántas veces se repite un caracter dado en una cadena. Cada ejercicio incluye una explicación de la lógica y el código de Java para resolverlo.

Cargado por

Ricard Altamir
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Tutorial 10

Os doy la bienvenida a tutoriales Aprendiendo Java Facil! En el anterior tutorial


presentamos la clase String y los métodos más comunes usados. En este tutorial
estaremos resolviendo algunos ejercicios aplicando lo aprendido sobre la clase String.

Ejercicios:

1.- Dada una cadena mostrar por pantalla la cantidad de vocales que tiene. Ejemplo:
     Entrada: cad = "Hola tu"
     Salida: La cantidad de vocales es 3

2.- Dada una cadena invertir la misma y mostrar por pantalla. Ejemplo:


     Entrada: "casa blanca"
     Salida: "acnalb asac"

3.- Dada una cadena cad, y un caracter car, verificar cuántas veces se repite el carácter
car en la cadena cad, por ejemplo:
      Entrada: cad = "casa blanca", car = 'a'
      Salida: El caracter 'a' se repite 4 veces

Muy bien, nuevamente tratemos de analizar cómo podríamos resolverlo, qué estructura de
control podemos usar, entradas y salidas, etc. ¿Listo? Ok, comenzemos.

1.- Dada una cadena mostrar por pantalla la cantidad de vocales que tiene.
Ejemplo:
     Entrada: cad = "Hola tu"
     Salida: La cantidad de vocales es 3

Lo primero que hacemos es leer por pantalla la cadena, luego ya que cada carácter tiene
una posición en la cadena:

podemos recorrer la cadena posición por posición, ir preguntando si el carácter es vocal, si


lo es contamos +1,  y final mostramos por pantalla la suma total que fuimos contando.
Antes de llevar a código esta lógica pensemos qué estructura de control podemos usar
para recorrer la cadena, preguntar carácter por carácter en una posición (varias veces la
misma acción con diferente posición de carácter), entonces necesitamos un iterador,
podría ser tanto un while como un for, iteramos mientras el indice que recorre sea menor
al tamaño de la cadena, en este caso el último indice que se puede preguntar es el 6, el
tamaño de la cadena es 7, perfecto, veamos la lógica en código usando for:

  import java.util.Scanner;

  public class CantidadVocales {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String cad = sc.nextLine(); //leemos la cadena
        int cantidadVocales = 0;
        //iteramos mientras el indice sea menor al tamanio total de
la cadena
        for (int i = 0; i < cad.length(); i++) {
            char car = cad.charAt(i); //obtenemos el caracter en la
posicion i
            //si el caracter es igual a "a", "e", "i", "o", ó "u"
entonces es vocal
            if (car == 'a' || car == 'e' || car ==  'i' || car ==
'o' || car == 'u') {
                cantidadVocales++; //contamos cantidad vocales +1
            }
        }
        //mostramos por pantalla cantidad de vocales
        System.out.println("La candidad de vocales es: " +
cantidadVocales);
    }
  }

Cuya salida de pantalla tendíamos:

Excelente, eso es todo, veamos el siguiente ejercicio.

2.- Dada una cadena invertir la misma y mostrar por pantalla. Ejemplo:


     Entrada: "casa blanca"
     Salida: "acnalb asac"

Hay muchas formas de solucionar este problema, iremos por una solución muy sencilla.
Primero ya sabemos como recorrer una cadena, lo que haremos es recorrer en forma
invertida almacenando en un segundo String cada caracter obtenido, donde al final del
recorrido sera impreso por pantalla, ¿suena fácil verdad? Veamos en código:

  import java.util.Scanner;

  public class CadenaInvertida {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String cadena = sc.nextLine(); //leemos la cadena
        String cadenaInvertida = "";
        //iteramos de forma invertida, partimos de la ultima
posicion valida
        //hasta la primera posicion valida que el cero
        //vamos disminuyendo el valor de i en una unidad -1
        for (int i = cadena.length() - 1 ; i >= 0; i--) {
            char car = cadena.charAt(i); //obtenemos el caracter en
la posicion i
            cadenaInvertida = cadenaInvertida + car;
        }
        //mostramos por pantalla la cadena invertida
        System.out.println("La cadena invertida es: " +
cadenaInvertida);
    }
  }

Y tenemos como salida de pantalla:

¿Sencillo no es cierto? Vamos al último ejercicio.

3.- Dada una cadena cad, y un caracter car, verificar cuántas veces se repite el
carácter car en la cadena cad, por ejemplo:
      Entrada: cad = "casa blanca", car = 'a'
      Salida: El caracter 'a' se repite 4 veces

Muy bien, este ejercicio es muy parecido al primer ejercicio, debo recorrer una cadena y
preguntar caracter por caracter si el obtenido es igual al que se busca. Lo que tenemos
que hacer es leer por pantalla una cadena y un caracter, y depende de ese caracter
realizamos la condicional y contamos +1, veamos ese bosquejo en código:

  import java.util.Scanner;

  public class CantidadCaracteres {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Ingrese la cadena:");
        String cadena = sc.nextLine(); //leemos la cadena
        System.out.println("Ingrese el caracter a buscar:");
        String caracter = sc.next(); //ya que no contamos con un
metodo especifico para
        //los caracteres entonces leemos como cadena, luego
obtenemos el primer
        //caracter para almacenarlo en un char, que seria el char
que debemos buscar en
        //la primera cadena ingresada
        char car = caracter.charAt(0);
        int cantidadRepeticiones = 0;
        //iteramos hasta que el indice sea menor al tamanio de la
cadena
        for (int i = 0 ; i < cadena.length() ; i++) {
            char aux = cadena.charAt(i); //obtenemos el caracter en
la posicion i
            if (aux == car) {
                cantidadRepeticiones++;
            }
        }
        //mostramos por pantalla la cantidad de repeticiones
        System.out.println("La cantidad de repeticiones es: " +
cantidadRepeticiones);
    }
  }

Y tenemos como salida de pantalla:

También podría gustarte