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

Dias hábiles y no habiles

import java.util.Scanner;

public class DiaHabil { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String dia;

    System.out.println("Ingresa un día de la semana: ");
    dia = scanner.nextLine();

    if (dia.equalsIgnoreCase("Sabado") || dia.equalsIgnoreCase("Domingo")) {
        System.out.println(dia + " no es un día hábil.");
    } else if (dia.equalsIgnoreCase("Lunes") || dia.equalsIgnoreCase("Martes") || dia.equalsIgnoreCase("Miercoles") || dia.equalsIgnoreCase("Jueves") || dia.equalsIgnoreCase("Viernes")) {
        System.out.println(dia + " es un día hábil.");
    } else {
        System.out.println("Ingresa un día válido.");
    }
}

}

1 respuesta

Hola Juan, espero que estés bien

Tu código está casi perfecto para lo que necesitas. Sin embargo, hay un pequeño detalle que podrías ajustar para que se alinee completamente con el ejercicio que estás realizando. En el ejercicio se menciona que los días de la semana deben ser ingresados en minúsculas. Aunque tu código ya maneja bien las mayúsculas y minúsculas con equalsIgnoreCase, podrías simplificarlo un poco si asumes que la entrada siempre será en minúsculas.

Aquí tienes una versión ajustada del código:

import java.util.Scanner;

public class DiaHabil {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dia;

        System.out.println("Ingresa un día de la semana (en minúsculas): ");
        dia = scanner.nextLine();

        if (dia.equals("sábado") || dia.equals("domingo")) {
            System.out.println(dia.substring(0, 1).toUpperCase() + dia.substring(1) + " no es un día hábil.");
        } else if (dia.equals("lunes") || dia.equals("martes") || dia.equals("miércoles") || dia.equals("jueves") || dia.equals("viernes")) {
            System.out.println(dia.substring(0, 1).toUpperCase() + dia.substring(1) + " es un día hábil.");
        } else {
            System.out.println("Ingresa un día válido.");
        }
    }
}

He añadido substring(0, 1).toUpperCase() + dia.substring(1) para capitalizar la primera letra del día, de modo que la salida coincida con el ejemplo proporcionado en el ejercicio. Esto hará que el programa funcione correctamente incluso si los días se ingresan en minúsculas, como se requiere.

Espero haber ayudado y buenos estudios!