testei uma data invalida para verificar se aparece o aviso, mas imprime normal.
minha classe data igual a resposta do exercicio.
class Data{
int dia;
int mes;
int ano;
public Data() {}
public Data(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
if(!isDataViavel(dia, mes, ano)) {
System.out.println("A data "+getFormatada()+" nao existe!");
}
}
private boolean isDataViavel(int dia, int mes, int ano) {
if(dia<=0 || mes<=0 || mes>12 || ano<=0){
return false;
}
int ultimoDiaDoMes = 31;
if(mes==4 || mes==6 || mes==9 || mes==11) {
ultimoDiaDoMes = 30;
} else if (mes==2) {
ultimoDiaDoMes = 28;
if(ano%4==0) {
ultimoDiaDoMes = 29;
}
}
if(dia > ultimoDiaDoMes) {
return false;
}
return true;
}
String getFormatada(){
return this.dia+"/"+this.mes+"/"+this.ano;
}
}
class Funcionario{
// .....
public void mostra(){
System.out.println("nome: "+ this.nome);
System.out.println("Departamento: "+ this.departamento);
System.out.println("Salatio: "+ this.salario);
System.out.println("Data de entrada: "+ this.dataEntrada.getFormatada());
//Erro
System.out.println("RG: "+ this.rg);
System.out.println("\n");
}
}
Eu sei que deveria trocar o getFormatada(), mas não sei oque colocar, alguem me ajuda?