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.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!