package com.github.aldenyjr.logistica;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
public class DiaSemama {
private String dia;
private boolean ehDiaUtil;
private static final List<String> diasCorretos = Arrays.asList(
"segunda",
"terca",
"quarta",
"quinta",
"sexta",
"sabado",
"domingo"
);
private static final Set<String> diasUteis = Set.of(
"segunda",
"terca",
"quarta",
"quinta",
"sexta"
);
public DiaSemama(String dia) throws DiaInvalidoException {
if (dia == null || !diasCorretos.contains(dia.toLowerCase())) {
throw new DiaInvalidoException(dia);
}
this.dia = dia.toLowerCase();
this.ehDiaUtil = diasUteis.contains(this.dia);
}
public boolean isEhDiaUtil() {
return ehDiaUtil;
}
public String getDia() {
return dia;
}
}
package com.github.aldenyjr.logistica;
public class DiaInvalidoException extends Exception {
public DiaInvalidoException(String dia) {
super("Dia inválido: '" + dia + "'. Informe um dia válido (segunda a domingo).");
}
}
package com.github.aldenyjr.logistica;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
try {
System.out.print("Digite o dia da semana (em letras minúsculas): ");
String dia = teclado.nextLine();
DiaSemama diaSemama = new DiaSemama(dia);
if (diaSemama.isEhDiaUtil()) {
System.out.println(diaSemama.getDia() + " é um dia útil");
} else {
System.out.println(diaSemama.getDia() + " não é um dia útil");
}
} catch (DiaInvalidoException e) {
System.out.println(e.getMessage());
}
teclado.close();
}
}
Resutado:
Digite o dia da semana (em letras minúsculas): quinta
quinta é um dia útil