Autor Tema: Comparar cadenas - Ejercicio (CU00657B)  (Leído 1072 veces)

Magore

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Comparar cadenas - Ejercicio (CU00657B)
« en: 06 de Junio 2023, 22:24 »
Buenas noches.

Adjunto código con mi propuesta de solución para el ejercicio (CU00657B).

Casi me vuelvo loco para hacer la comprobación de si la cadena comenzaba o no por "a".

Código: [Seleccionar]
import java.util.Scanner;

public class ComprobarCadenas {
   
    public static void main (String [] args) {

        // Introducimos una cadena por teclado:

        System.out.println ("Introduzca una cadena por teclado: ");
        String entradaTeclado = "";
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado = entradaEscaner.nextLine();
       
        // Determinamos la longitud de la cadena introducida:

        if (entradaTeclado.length() < 5) {
            System.out.print ("La cadena introducida tiene menos de 5 caracteres y ");
        } else if (entradaTeclado.length() >= 5 && entradaTeclado.length() <= 15) {
            System.out.print ("La cadena introducida tiene entre 5 y 15 caracteres y ");
        } else {
            System.out.print ("La cadena introducida tiene más de 15 caracteres y ");
        }
       
        // Comprobamos si la cadena introducida comienza por la letra "a"
        // e imprimimos el resultado final por pantalla:

        String primeraLetra = entradaTeclado.substring(0,1);           // tomamos la primera letra de la cadena       
        if (primeraLetra.equalsIgnoreCase("a")) {                      // hacemos la oportuna comparación
            System.out.println ("SÍ comienza por la letra \"a\"");
        } else {
            System.out.println ("NO comienza por la letra \"a\"");
        }
    }
}

Un saludo.

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: Comparar cadenas - Ejercicio (CU00657B)
« Respuesta #1 en: 07 de Junio 2023, 18:22 »
Todo correcto.

Como información extra, la clase String dispone de un método llamado startsWith() a la que se le puede pasar una cadena como argumento y devolverá true si el String sobre el que invocamos este método comienza por esa cadena.
Aunque no "ignora" si la cadena es mayúscula o minúscula, por lo tanto, previamente habrá que convertir el String al mismo formato de letra que tenga la cadena que usamos para consultar.
Puede hacerse encadenando dos métodos seguidos:

Código: [Seleccionar]
        if (entradaTeclado.toLowerCase().startsWith("a")) {
            System.out.println ("SÍ comienza por la letra \"a\"");
        } else {
            System.out.println ("NO comienza por la letra \"a\"");
        }

Pero repito, esto es un dato extra.
El ejercicio pedía resolverse con el método subString(), tal y como tú has hecho, así que todo en orden  ;)
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".