¡Hola Erick, espero que estés bien!
Tu código está casi perfecto para resolver el problema de identificar si un día es hábil o no. Sin embargo, hay un pequeño detalle que podrías mejorar para que el programa funcione exactamente como se espera. Actualmente, tu programa capitaliza la primera letra del día ingresado, lo cual es genial, pero hay un detalle en la condición del if
que podrías ajustar para que sea más claro y eficiente.
Aquí tienes una pequeña sugerencia:
- Consistencia en el uso de
diaCapitalizado
: Aunque estás capitalizando el día ingresado, en la condición del if
sigues comparando con los días en minúsculas. Para mantener consistencia y claridad, podrías comparar directamente con diaCapitalizado
en lugar de dia
.
Aquí tienes cómo podrías ajustar tu código:
import java.util.Scanner;
public class Alura {
public static void main(String[] args) {
// Declaración de variables
Scanner scanner = new Scanner(System.in);
// Entrada de datos
System.out.println("Ingrese el día de la semana (en minúsculas): ");
String dia = scanner.nextLine();
// Capitalizar la primera letra directamente
String diaCapitalizado = dia.substring(0, 1).toUpperCase() + dia.substring(1).toLowerCase();
// Validación del día de la semana
if(diaCapitalizado.equals("Lunes") || diaCapitalizado.equals("Martes") ||
diaCapitalizado.equals("Miércoles") || diaCapitalizado.equals("Miercoles") ||
diaCapitalizado.equals("Jueves") || diaCapitalizado.equals("Viernes")) {
System.out.println(diaCapitalizado + " es un día hábil.");
} else {
System.out.println(diaCapitalizado + " no es un día hábil.");
}
// Cierre del scanner
scanner.close();
}
}
Con este ajuste, el programa debería funcionar correctamente para cualquier entrada de día de la semana, capitalizando adecuadamente la primera letra y comparando de manera consistente.
Espero haber ayudado y buenos estudios!