Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Creí que sería mejor trabajar con arrays, asi que lo hice de esta manera.

import java.util.Scanner;

public class VerificacionDiaHabil { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String[] diasLaborales = {"lunes", "martes", "miércoles", "jueves", "viernes"};

    System.out.println("Ingrese un día de la semana en minúscula");
    String diaIngresado = scanner.nextLine();
    boolean esDiaHabil = false;

    for (String dia : diasLaborales){
        if(dia.equals(diaIngresado)){
            esDiaHabil = true;
            break;
        }
    }

    if(esDiaHabil){
        System.out.println(diaIngresado + " es un día hábil");
    }else if(diaIngresado.equals("sábado") || diaIngresado.equals("domingo")){
        System.out.println(diaIngresado + " no es un día hábil");
    } else{
        System.out.println("Día ingresado no válido");
    }
    scanner.close();
}

}

1 respuesta

¡Hola, Anngie!

Tu código para verificar si un día es hábil está muy bien estructurado y es una buena idea usar arrays para almacenar los días laborales. La lógica que has implementado es clara y debería funcionar correctamente para los casos esperados.

Aquí hay algunas sugerencias para mejorar o ajustar tu código:

  1. Manejo de mayúsculas y minúsculas: Aunque has mencionado que el usuario debe ingresar el día en minúsculas, podrías considerar usar toLowerCase() en la entrada del usuario para evitar posibles errores de entrada. Por ejemplo:

    String diaIngresado = scanner.nextLine().toLowerCase();
    
  2. Mensajes al usuario: Asegúrate de que los mensajes sean claros para el usuario. Ya lo son, pero siempre es bueno revisar que el usuario entienda qué se espera de él.

  3. Validación adicional: Si deseas, podrías agregar una validación adicional para verificar que el usuario ingrese un día válido de la semana, aunque tu código ya maneja entradas no válidas con el mensaje "Día ingresado no válido".

  4. Eficiencia: Tu enfoque actual es eficiente para este caso de uso, ya que el array es pequeño y el bucle se detiene una vez que encuentra un día hábil.

Aquí tienes un ejemplo de cómo podrías implementar la sugerencia del manejo de mayúsculas y minúsculas:

String diaIngresado = scanner.nextLine().toLowerCase();

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!