Hola Juan,
Veo que estás trabajando en un programa para verificar si un día es hábil o no. En tu código, estás utilizando un switch
con toUpperCase()
, lo que significa que estás convirtiendo la entrada a mayúsculas. Sin embargo, el ejercicio pide que la entrada sea en minúsculas y que la salida mantenga el formato original del día ingresado.
Para resolver esto, puedes modificar tu código de la siguiente manera:
import java.util.Scanner;
public class DiasHabiles {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese el día de la semana (en minúsculas): ");
String dia = scanner.next();
switch (dia) {
case "lunes", "martes", "miércoles", "jueves", "viernes":
System.out.println(capitalize(dia) + " es un día hábil.");
break;
default:
System.out.println(capitalize(dia) + " no es un día hábil.");
}
}
// Método para capitalizar la primera letra del día
public static String capitalize(String str) {
if (str == null || str.length() == 0) {
return str;
}
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
}
Aquí he añadido un método capitalize
que se encarga de poner en mayúscula la primera letra de la cadena, para que la salida coincida con el formato esperado del ejercicio. Así, si ingresas "miércoles", el programa imprimirá "Miércoles es un día hábil."
Espero que esto te ayude a resolver el desafío.