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
-
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".
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.
-
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:
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 ;)