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

[Sugerencia] Mi propuesta de solución...

A tener en cuenta:

  • Acepta cualquier día escrito en cualquier combinación de minúsculas y mayúsculas, se usa toLowerCase() para pasarlo a minúsculas.
  • Se usa el método substring() dentro del método capitalizeDay(String day) para capitalizar el día ingresado.
  • El método isWorkingDay(String day) es usado para la lógica de negocio.
  • Acepta miércoles y sábado sin acento.
import java.util.Scanner;

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

        showHeader();

        do {
            System.out.print("\n* Ingrese el nombre del día de la semana: ");
            day = scanner.next();
            isWorkingDay(day.toLowerCase());
            System.out.print("Para terminar digite 0 o cualquier tecla para calcular otro día: ");
            opt = scanner.next();
        } while (!opt.equals("0"));

        System.out.println("\nClosing app... Thanks for using our service");

        scanner.close();
    }

    private static void isWorkingDay(String day) {
        switch (day) {
            case "lunes":
            case "martes":
            case "miercoles":
            case "miércoles":
            case "jueves":
            case "viernes":
                System.out.printf("%n%s es un día hábil.%n%n", capitalizeDay(day));
                break;
            case "sábado":
            case "sabado":
            case "domingo":
                System.out.printf("%s no es un día hábil.%n%n", capitalizeDay(day));
                break;
            default:
                System.out.printf("%n%s no corresponde a un día de la semana%n%n", day);
        }
    }

    private static String capitalizeDay(String day) {
        return day.substring(0, 1).toUpperCase().concat(day.substring(1));

    }

    private static void showHeader() {
        System.out.print("""
                
                *********************************
                    Welcome to Working day app
                *********************************
                """);
    }
}
1 respuesta

¡Hola Wilmar! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!