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

Trabajo por dias

import java.util.ArrayList; import java.util.Scanner;

public class Dia { public static void main(String[] args) {

    String laburo;
    ArrayList<String> diasContrado = new ArrayList<>();

    Scanner teclado = new Scanner(System.in);
    System.out.println("Porfavor indique que dia requiere nuestros servicios escribe llos dias separados por comas");
    laburo = teclado.nextLine();

    String[] dias = laburo.split(",\\s*");

    for (String dia : dias) {
        switch (dia.trim().toLowerCase()) {
            case "lunes":
                System.out.println("Dia agendado");
                diasContrado.add("lunes");
                break;
            case "martes":
                System.out.println("Dia asignado");
                diasContrado.add("martes");
                break;
            case "miercoles":
                System.out.println("Dias asignado");
                diasContrado.add("miercoles");
                break;
            case "jueves":
                System.out.println("Dia asignado");
                diasContrado.add("jueves");
                break;
            case "viernes":
                System.out.println("Dia asignado");
                diasContrado.add("viernes");
                break;
            default:
                System.out.println("Dia no disponible ");
                break;
        }

        System.out.println("Estos son los dias que nos contrataste: " + diasContrado);

    }
}

}

1 respuesta

¡Hola Rafael, espero que estés bien!

Veo que estás trabajando en un programa que verifica si un día es hábil o no, y parece que ya tienes un buen comienzo. Sin embargo, hay un pequeño detalle en tu código que podría mejorarse para que se ajuste mejor al ejercicio que estás tratando de resolver.

Tu código actual está diseñado para recibir varios días a la vez y agrega esos días a una lista si son días hábiles. Sin embargo, el ejercicio parece requerir que el programa reciba un solo día y devuelva un mensaje indicando si es hábil o no.

Aquí tienes una sugerencia para modificar tu código y que se ajuste al ejercicio:

import java.util.Scanner;

public class Dia {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        System.out.println("Ingrese el día de la semana (en minúsculas):");
        String dia = teclado.nextLine().trim().toLowerCase();

        switch (dia) {
            case "lunes":
            case "martes":
            case "miercoles":
            case "jueves":
            case "viernes":
                System.out.println(capitalize(dia) + " es un día hábil.");
                break;
            case "sabado":
            case "domingo":
                System.out.println(capitalize(dia) + " no es un día hábil.");
                break;
            default:
                System.out.println("Día no reconocido.");
                break;
        }
    }

    // Método para capitalizar la primera letra del día
    public static String capitalize(String str) {
        if (str == null || str.isEmpty()) {
            return str;
        }
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }
}

Con este código, el programa recibirá un solo día y te indicará si es un día hábil o no, de acuerdo con los requerimientos del ejercicio. Además, he añadido un método para capitalizar la primera letra del día, de manera que la salida sea más amigable.

Espero que esto te sea de ayuda y te deseo mucho éxito en tu aprendizaje. ¡Bons estudios!