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

Data invalida

Entendi que a data invalida seria somente 31/2/2012. E não todos os dias 31, todos os meses de fevereiro e todo o ano de 2012.

Achei a solução extensiva.

A minha solução é:

 int dia;
    int mes;
    int ano;

    void preencheData (int dia, int mes, int ano) {
       if(dia!=31 && mes !=2 && ano!=2012){
           this.dia = dia;
           this.mes = mes;
           this.ano = ano;
       }

    }

    String getFormata (){
        if(dia!=32  && mes !=2 && ano !=2012 )
         return this.dia + "/" + this.mes + "/" + this.ano;

        else
            return null;
    }

Seria a invalidação das datas.

1 resposta
solução!

Oi Jessica, tudo bem ?

Como estamos criando nossa classe para representar a Data, temos que pensar em todos os cenários válidos.

O mês de fevereiro, possui apenas 28 dias.

Portanto temos que validar se qualquer coisa superior a 28 que entre seja inválido, exceto em anos bissextos, que temos 29 dias.

Além disso, estamos criando uma classe onde podemos reaproveitar em outros projetos e não queremos que ela tenha qualquer gargalo.