¿Qué esperas conseguir con el código que hay en el
bucle do..while()?
No hace nada útil, ni en realidad necesitas que lo haga. Este bucle puedes ahorrartelo.
Y por consiguiente no necesitas tampoco el array de Strings, ni la variable booleana.
Solo necesitas usar el switch para comparar la cadena introducida por el usuario.
Otra cosa. Esta bien intentar que el programa acepte "Enero" y "enero", "Febrero" y "febrero"..... pero no es práctico poner las distintas formas posibles, porque además esas no son las únicas posibles..
¿que pasa si pone "ENERO"?
¿O si es un usuario tocanarices y le da por poner "eNero", "EnErO", etc...?
Es una locura intentar contemplar todas las posibles combinaciones, lo mejor es usar los métodos que nos ofrece la clase
String de Java para transformar a minúscula todas las letras de la cadena que ha introducido el usuario, y luego comparar.
Si añades esto al código:
System.out.println("Ingresa el mes en que naciste:");
a=S.nextLine().toLowerCase();
Conseguirás que lo que teclee el usuario sea recogido en minúsculas, independientemente de como lo haya tecleado el usuario.
Así, en tu switch, solo necesitarás usar las palabras minúsculas para comparar
switch(a)
{
case "enero":
case "febrero":
case "marzo":
.....
.....
}
Si por algún motivo lo quisieras en mayúsculas, tienes este otro método:
System.out.println("Ingresa el mes en que naciste:");
a=S.nextLine().toUpperCase();
Y el swich debería ser este:
switch(a)
{
case "ENERO":
case "FEBRERO":
case "MARZO":
.....
.....
}