Hola Luis, espero que estés bien
Tu código está bastante bien estructurado y parece cumplir con el objetivo de verificar si un día es hábil o no. Sin embargo, hay un pequeño detalle que podrías ajustar para que la salida sea más consistente con el ejemplo proporcionado en la actividad. El ejemplo muestra que la primera letra del día en la salida debe estar en mayúsculas, incluso si el usuario la ingresa en minúsculas.
Para lograr esto, puedes modificar la salida del System.out.println
para capitalizar la primera letra del userDay
. Aquí tienes un ejemplo de cómo podrías hacerlo:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] weekDays = {"lunes", "martes", "miercoles", "jueves", "viernes", "sabado", "domingo"};
String userDay;
do {
System.out.println("Ingresa el día a verificar (para terminar escribe salir):");
userDay = scanner.nextLine();
if (Arrays.asList(weekDays).contains(userDay)){
// Capitaliza la primera letra del día
String capitalizedDay = userDay.substring(0, 1).toUpperCase() + userDay.substring(1);
if (userDay.equalsIgnoreCase("sabado") || userDay.equalsIgnoreCase("domingo"))
System.out.println(capitalizedDay + " no es un día hábil.");
else
System.out.println(capitalizedDay + " es un día hábil.");
} else if (!userDay.equalsIgnoreCase("salir"))
System.out.println("Día no reconocido, intenta uno diferente");
} while (!userDay.equalsIgnoreCase("salir"));
scanner.close();
System.out.println("Programa finalizado");
}
}
Con este cambio, el programa capitalizará la primera letra del día que el usuario ingrese, asegurando que la salida coincida con el formato esperado en la actividad. Espero que esto te ayude a mejorar tu solución. ¡Bons estudios!