Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] VerificaçãoDeDiaUtil

mudei um pouquinho e ao inves de if-else usei o switch case

package br.com.nadson.desafiosc2.principal;

import java.util.Locale;
import java.util.Scanner;

public class VerificaçãoDeDiaUtil {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);


            System.out.println("Diga o dia da semana:");
            String dia = entrada.nextLine().toLowerCase(Locale.ROOT);
            switch (dia) {
                case "segunda" -> diaUtil(dia);
                case "terca" -> diaUtil(dia);
                case "quarta" -> diaUtil(dia);
                case "quinta" -> diaUtil(dia);
                case "sexta" -> diaUtil(dia);
                case "sabado" -> fimDeSemana(dia);
                case "domingo" -> fimDeSemana(dia);
                default -> System.out.println("Dia invalido");
            }
        


    }

    public static void diaUtil(String dia) {
        System.out.println(dia + " é um dia util");
    }

    public static void fimDeSemana(String dia) {
        System.out.println(dia + " não é um dia util");
    }
}

2 respostas
solução!

Olá, Nadson! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso do switch-case moderno com setas para simplificar a lógica, utilizou muito bem a normalização com toLowerCase(Locale.ROOT) para evitar problemas de entrada e ainda compreendeu a importância de separar a lógica em métodos auxiliares (diaUtil e fimDeSemana) para deixar o código mais organizado.

Uma dica interessante para o futuro é usar um enum para representar os dias da semana, tornando o código mais robusto e menos sujeito a erros de digitação. Assim:

enum DiaSemana {
    SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO
}

public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    System.out.println("Diga o dia da semana:");
    String diaStr = entrada.nextLine().toUpperCase(Locale.ROOT);

    try {
        DiaSemana dia = DiaSemana.valueOf(diaStr);
        switch (dia) {
            case SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA -> diaUtil(diaStr);
            case SABADO, DOMINGO -> fimDeSemana(diaStr);
        }
    } catch (IllegalArgumentException e) {
        System.out.println("Dia inválido");
    }
}

Isso faz com que o programa tenha maior segurança, já que os valores possíveis ficam restritos ao enum, evitando entradas incorretas.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

obrigado pela dica