Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dia útil?

import java.util.Scanner;

public class VerificacaoDeDiaUtil {

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

        System.out.print("Digite o dia da semana (em letras minúsculas): ");
        String dia = scanner.nextLine();

        // Verificando se é dia útil
        switch (dia) {
            case "segunda":
            case "terca":
            case "terça":
            case "quarta":
            case "quinta":
            case "sexta":
                System.out.println(capitalize(dia) + " é um dia útil.");
                break;
            case "sabado":
            case "sábado":
            case "domingo":
                System.out.println(capitalize(dia) + " não é um dia útil.");
                break;
            default:
                System.out.println("Dia inválido.");
                break;
        }

        scanner.close();
    }

    // Função para capitalizar a primeira letra do dia
    public static String capitalize(String str) {
        if (str == null || str.isEmpty()) {
            return str;
        }
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }
}
1 resposta
solução!

Oi, André! Como vai?

Sua implementação tá ótima! O uso do switch com múltiplos case deixou a verificação dos dias bem organizada, e o método capitalize() trouxe um toque bacana para deixar a saída mais legível. Também foi uma boa sacada considerar variações como "terça" e "sabado".

Uma dica interessante para o futuro é normalizar os acentos com java.text.Normalizer, caso queira garantir que a entrada funcione mesmo com ou sem acento. Veja este exemplo:


import java.text.Normalizer;
import java.util.Scanner;

public class VerificacaoDeDiaUtil {

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

        System.out.print("Digite o dia da semana (em letras minúsculas): ");
        String dia = scanner.nextLine();

        // Normalizando acentuação
        String diaNormalizado = Normalizer
            .normalize(dia, Normalizer.Form.NFD)
            .replaceAll("[^\\p{ASCII}]", "")
            .toLowerCase();

        // Verificando se é dia útil
        switch (diaNormalizado) {
            case "segunda":
            case "terca":
            case "quarta":
            case "quinta":
            case "sexta":
                System.out.println(capitalize(dia) + " é um dia útil.");
                break;
            case "sabado":
            case "domingo":
                System.out.println(capitalize(dia) + " não é um dia útil.");
                break;
            default:
                System.out.println("Dia inválido.");
                break;
        }

        scanner.close();
    }

    // Função para capitalizar a primeira letra do dia
    public static String capitalize(String str) {
        if (str == null || str.isEmpty()) {
            return str;
        }
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }
}

Agora, se a pessoa digitar "terça" ou "sábado", o programa trata como "terca" e "sabado", aceitando tanto com quanto sem acento — o que deixa o sistema mais amigável e tolerante a variações na digitação.

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