public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("CALENDARIO DE DÍAS HÁBILES 2025 - AMÉRICA LATINA");
System.out.println("--------------------------------------------------");
// Solicitar datos al usuario
String diaSemana;
do {
System.out.print("Ingrese el día de la semana (en minúsculas, ej. lunes): ");
diaSemana = scanner.nextLine().toLowerCase();
if (!esDiaValido(diaSemana)) {
System.out.println("Día no válido. Ingrese lunes, martes, miércoles, jueves, viernes, sábado o domingo.");
}
} while (!esDiaValido(diaSemana));
int mes;
do {
System.out.print("Ingrese el mes (1-12): ");
while (!scanner.hasNextInt()) {
System.out.println("Por favor ingrese un número entre 1 y 12.");
scanner.next();
}
mes = scanner.nextInt();
} while (mes < 1 || mes > 12);
int dia;
do {
System.out.print("Ingrese el día del mes (1-31): ");
while (!scanner.hasNextInt()) {
System.out.println("Por favor ingrese un número entre 1 y 31.");
scanner.next();
}
dia = scanner.nextInt();
} while (dia < 1 || dia > 31);
scanner.nextLine(); // Limpiar buffer
String pais;
do {
System.out.print("Ingrese el país (mexico, argentina, colombia, brazil, peru, bolivia, chile, venezuela, paraguay, uruguay, guayana, panama): ");
pais = scanner.nextLine().toLowerCase();
if (!esPaisValido(pais)) {
System.out.println("País no registrado. Por favor ingrese uno de los países disponibles.");
}
} while (!esPaisValido(pais));
// Verificar si es día hábil
boolean esHabil = verificarDiaHabil(diaSemana, mes, dia, pais);
// Mostrar resultado
System.out.println("\n=== RESULTADO ===");
System.out.println("Fecha: " + dia + "/" + mes + "/2025");
System.out.println("País: " + capitalizar(pais));
System.out.println("Día de la semana: " + capitalizar(diaSemana));
if (diaSemana.equals("domingo")) {
System.out.println("No es día hábil (es domingo)");
} else if (!esHabil) {
System.out.println("No es día hábil (es festivo)");
} else {
System.out.println("Es día hábil");
}
scanner.close();
}