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

Verificación del día hábil

Para la realización de la solución del presente ejercicio, en donde se debía indicar para los días de la semana como hábiles y los fines como no hábiles utilice dos clases la primera como clase principal y en la segunda definí dos métodos el primero para obtener el día ingresado por el usuario y el segundo método para primero validar que los valores sean días de la semana y si no indicar al usuario que debe ingresar un día de la semana, después de dicha verificación lo que hice fue el proceso de clasificación según el día para indicar si es hábil o no, además de esto use el método ignorecase por si el usuario ingresa las palabras en minúscula o mayúscula, ahora procedo a mostrar la solución realizada:

public class Main {
    public static void main(String[] args) {
        Dias dias = new Dias();
        dias.obtenerDia(); 
        dias.clasificarDia();
    }
}
 

import java.util.Scanner;

public class Dias {
    private String dias;
    Scanner tecaldo = new Scanner(System.in);

    public void obtenerDia(){
        System.out.println("Ingrese el día de la semana (en mínuscuals):  ");
        dias = tecaldo.next();
    }

    public void clasificarDia() {
        if (dias.equalsIgnoreCase("domingo") || dias.equalsIgnoreCase("sábado") || dias.equalsIgnoreCase("lunes") || dias.equalsIgnoreCase("martes") || dias.equalsIgnoreCase("miércoles") || dias.equalsIgnoreCase("jueves") || dias.equalsIgnoreCase("viernes")) {

            if (dias.equalsIgnoreCase("lunes") || dias.equalsIgnoreCase("martes") || dias.equalsIgnoreCase("miércoles") || dias.equalsIgnoreCase("jueves") || dias.equalsIgnoreCase("viernes")) {
                System.out.printf("%s es un día hábil",dias.toUpperCase());
            } else {
                System.out.printf("%s no es un día hábil",dias.toUpperCase());
            }

        } else {
            System.out.println("Por favor ingrese un día de la semana.");
        }
    }
}
1 respuesta

Hola Edwin, espero que estés bien

¡Qué bueno que estás practicando con Java! Tu solución parece estar en el camino correcto para clasificar los días de la semana como hábiles o no hábiles. Aquí hay algunos comentarios y sugerencias que podrían ayudarte a mejorar tu código:

  1. Uso de equalsIgnoreCase: Has hecho un buen uso de equalsIgnoreCase para manejar entradas en diferentes casos (mayúsculas o minúsculas). Esto es muy útil para la flexibilidad del programa.

  2. Mensajes de salida: Asegúrate de que los mensajes de salida coincidan con el formato esperado. Por ejemplo, en tu código, estás usando System.out.printf sin un punto al final de la oración. Según el ejemplo de salida esperada, deberías agregar un punto al final de la oración.

  3. Entrada del usuario: En el método obtenerDia, mencionas "en mínuscuals", lo cual es un pequeño error tipográfico. Debería ser "en minúsculas". Aunque estás manejando bien las mayúsculas y minúsculas con equalsIgnoreCase, es bueno tener un mensaje claro para el usuario.

  4. Mejoras en la estructura del código: Aunque tu código es funcional, podrías considerar simplificar la lógica de clasificación usando listas o arrays para almacenar los días hábiles y no hábiles. Esto haría que el código sea más limpio y fácil de mantener.

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tus estudios de programación!

Espero haber ayudado y buenos estudios!