Os adjunto el código del ejercicio propuesto. A mi me funciona. Lo que pregunto es si la forma elegida de resolverlo es la más adecuada, o a estas alturas del curso tendría que haberlo hecho de otra forma más eficiente o adecuada.
Gracias por todo.
public class TestPrograma2 {
public static void main (String [ ] args) {
Scanner entradaEscaner;
String entradaTeclado = "";
int longitudTexto = 0;
String primeraLetra = "";
System.out.println ("");
System.out.println ("Empezamos el programa");
System.out.println ("Por favor introduzca una cadena por teclado:");
entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
System.out.println ("");
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado + "\"");
longitudTexto = entradaTeclado.length();
primeraLetra = entradaTeclado.substring (0,1);
switch (primeraLetra) {
case "a":
if (longitudTexto < 5) {
System.out.println ("La cadena introducida tiene menos de 5 caracteres y empieza por la letra 'a'.");}
else if (longitudTexto >= 5 && longitudTexto <= 15) {
System.out.println ("La cadena introducida tiene entre 5 y 15 caracteres y empieza por la letra 'a'.");}
else {
System.out.println ("La cadena introducida tiene más de 15 caracteres y empieza por la letra 'a'.");}
break;
default:
if (longitudTexto < 5) {
System.out.println ("La cadena introducida tiene menos de 5 caracteres y no empieza por la letra 'a'.");}
else if (longitudTexto >= 5 && longitudTexto <= 15) {
System.out.println ("La cadena introducida tiene entre 5 y 15 caracteres y no empieza por la letra 'a'.");}
else {
System.out.println ("La cadena introducida tiene más de 15 caracteres y no empieza por la letra 'a'.");}
break;
}
} //Cierre del main
} //Cierre de la clase