Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Magore en 06 de Junio 2023, 22:24

Título: Comparar cadenas - Ejercicio (CU00657B)
Publicado por: Magore 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.
Título: Re: Comparar cadenas - Ejercicio (CU00657B)
Publicado por: Kabuto 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  ;)