¡Hola Enmanuel, espero que estés bien!
Parece que estás trabajando en un programa para verificar si un día es hábil o no. Tu código está casi completo, pero hay un pequeño detalle que podrías ajustar para que funcione perfectamente de acuerdo con el ejemplo que has proporcionado.
El problema principal es que tu código no capitaliza la primera letra del día cuando imprime el mensaje. Para que la salida coincida exactamente con el ejemplo proporcionado, puedes modificar la forma en que imprimes el día, capitalizando la primera letra. Aquí te muestro cómo podrías hacerlo:
String[] diasHabiles = {"lunes", "martes", "miercoles", "jueves", "viernes"};
System.out.println("Ingrese el día de la semana (En minúsculas): ");
String dia = entrada.next();
boolean encontrado = false;
for (int i = 0; i < diasHabiles.length; i++) {
if (diasHabiles[i].equals(dia)) {
System.out.printf("%s es un día hábil", capitalizarPrimeraLetra(dia));
encontrado = true;
}
}
if (!encontrado) {
if (dia.equals("domingo") || dia.equals("sabado")) {
System.out.printf("%s no es un día hábil", capitalizarPrimeraLetra(dia));
encontrado = true;
} else {
System.out.println("Día no válido");
}
}
public static String capitalizarPrimeraLetra(String dia) {
return dia.substring(0, 1).toUpperCase() + dia.substring(1);
}
He añadido una función llamada capitalizarPrimeraLetra
que toma el día ingresado y convierte la primera letra a mayúscula. Esto asegurará que tu salida sea exactamente como la esperada.
Espero que esto te ayude y que tu programa funcione como esperas. ¡Bons estudos!