Otra forma de resolverlo (contempla letra A) y una pregunta.
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
//Código de nuestra clase principal ejemplo aprenderaprogramar.com
public class TestPrograma2 {
       public static void main (String [ ] args) {
        System.out.println("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";
        Scanner entradaEscaner = new Scanner(System.in); //Creación de un objeto Scanner
        entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
        int largoCadena = entradaTeclado.length();
        String cadena1="";
        String cadena2="";
        if (largoCadena>0) {
            String letra = entradaTeclado.substring(0,1);
            if (letra.equalsIgnoreCase("a")==true) {cadena2=" y comienza con la letra a";}
            else {cadena2=" y no comienza con la letra a";}
            
            int opcion = 0;
            if (largoCadena>=5 && largoCadena<=15) {opcion = 2;} else if (largoCadena>15){opcion=3;} else {opcion=1;}
            switch (opcion) {
                case 1:cadena1="La cadena tiene menos de 5";break;
                case 2:cadena1="La cadena tiene entre 5 y 15 caracteres";break;
                case 3:cadena1="La cadena tiene mas de 15";break;
                default:break;
            }
        }
        else {cadena1="No ingreso una cadena";}
             
        System.out.println(cadena1+cadena2);
        }
    } //Cierre de la clase
¿Por qué si uso: if (entradaTeclado.substring(0,1)=="a")... y la cadena ingresada comienza con la letra "a" lo considera distinto?. Muchas gracias desde ya.
Saludos
Luis