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

Verificacion de dia habil

presento mi código.

package one.aluracursos.condicionalesenjava.scanner;
import java.util.Scanner;

public class ValidarDiaHabil {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite un dia de la semana, en letras : ");
        String diaSemana = scanner.nextLine();
        diaSemana = diaSemana.toLowerCase();
        if (!diaSemana.contains("lunes") && !diaSemana.contains("martes") &&
                !diaSemana.contains("miercoles") && !diaSemana.contains("jueves") &&
                !diaSemana.contains("viernes")) {
            System.out.println("El dia "+diaSemana+" NO es habil");
        }else{
            System.out.println("El dia "+diaSemana+" Es habil");
        }
    }
}

Una opción nueva es pasar a minúscula la cadena leída. con cadena.toLowerCase()

1 respuesta

Hola Rene, espero que estés bien

Tu código está casi correcto para verificar si un día es hábil o no. Sin embargo, hay un pequeño detalle en la salida que podrías ajustar para que coincida con el formato esperado en el ejercicio. Actualmente, tu programa imprime "El dia [día] Es habil", pero según el ejemplo del ejercicio, la salida esperada es "[Día] es un día hábil.".

Para lograr esto, podrías hacer un pequeño ajuste en tu código para capitalizar la primera letra del día antes de imprimir el resultado. Aquí te dejo una sugerencia de cómo podrías hacerlo:

package one.aluracursos.condicionalesenjava.scanner;
import java.util.Scanner;

public class ValidarDiaHabil {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite un dia de la semana, en letras : ");
        String diaSemana = scanner.nextLine();
        diaSemana = diaSemana.toLowerCase();

        // Capitalizar la primera letra del día
        String diaCapitalizado = diaSemana.substring(0, 1).toUpperCase() + diaSemana.substring(1);

        if (!diaSemana.contains("lunes") && !diaSemana.contains("martes") &&
                !diaSemana.contains("miercoles") && !diaSemana.contains("jueves") &&
                !diaSemana.contains("viernes")) {
            System.out.println(diaCapitalizado + " no es un día hábil.");
        } else {
            System.out.println(diaCapitalizado + " es un día hábil.");
        }
    }
}

Con este cambio, la salida del programa debería coincidir con el formato esperado en el ejercicio. Espero que esto te ayude y que puedas seguir practicando con éxito.

Espero haber ayudado y buenos estudios!