Modifique a operação mostraData() no modelo Data para que o mês seja mostrado por extenso.
public class Data {
private int dia, mes, ano;
public void inicializaData(int dia, int mes, int ano) {
if (dataÉVálida(dia, mes)) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
} else {
this.dia = 0;
this.mes = 0;
this.ano = ano;
}
}
public boolean dataÉVálida(int dia, int mes) {
if ((dia >= 1 && dia <= 31) && (mes >= 1 && mes <= 12)) {
return true;
}
return false;
}
public void mostraData() {
if (this.dia == 0 && this.mes == 0) {
System.out.println("Data inválida");
} else {
System.out.println(this.dia + "/" + this.mes + "/" + this.ano);
}
}
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getMes() {
return mes;
}
public void setMes(int mes) {
this.mes = mes;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public String toString() {
return "Data [" + dia + "/" + mes + "/" + ano + "] ";
}
}
Olá pessoal, tenho essa questão para resolver, sou iniciante em Java.
Sei que posso resolver essa questão com array e etc, mas quero praticar Enum. Minha idéia é que para cada número dado no private int mes, eu possa pegar uma String com o nome do mês referente a esse número, por exemplo (if this.mes == 1) { System.out.println(“Janeiro”);
O código que fiz do Enum até agora foi esse.
public enum MesesEnum {
Janeiro(1), Fevereiro(2), Março(3), Abril(4), Maio(5), Junho(6), Julho(7), Agosto(8), Setembro(9), Outubro(10),
Novembro(11), Dezembro(12);
public int valorMes;
MesesEnum(int valor) {
valorMes = valor;
}
public int getValorMes() {
return valorMes;
}
}
A partir daqui não sei mais oque fazer. Vocês podem me ajudar ? Dá pra resolver esse problema da questão com Enum, ou realmente Enum não foi feito pra isso e tenho que usar outras ferramentas ? Obrigado.
