tentei fazer os outros métodos e não consegui. Podem me auxiliar, por favor???O que eu já fiz está de acordo com o exercício proposto???Desde já agradeço a atenção de vocês.
Cara você tem que interpretar o texto direitinho, o teu professor disse que era para criar um objeto que representasse uma data (dia, mês e ano), então, esses serão os teus atributos, só aí tu mata a questão de criar os métodos que retornam cada campo da data!
M
mspereira
É, acho que ele não quer que você trabalhe com a classe Date.
Boa sorte!
Giulliano
Uma classe que reprsenta uma data seria algo como
publicclassMinhaData{Integerdia;Integermes;Integerano;//Construor da classepublicMinhaData(Integerdia,Integermes,Integerano){this.dia=dia;this.mes=mes;this.ano=ano;//faz as verificações para ver se as informações são coerentesif(this.ano>2010||this.ano<<1900){thrownewIllegalArgumentException("O ano deve estar entre 1900 e 2010");}}//aqui vc põe outros métodos;}
uallace
Obrigado ae…confudi as coisas…valeu pela ajuda…Bom, mas se eu quisesse terminar usando a classe date, poderiam me ajudar???
thiago.correa
Ao invés da Date, use a Calendar, ficaria mais fácil!
Ah, se puderem me ajuda no método para comparar. Como faço?Valeu a todos!
uallace
Podem me auxiliar por favor???
thiago.correa
Cara, é só você fazer uns testes para ver se está certo!
Sobre o método de comparação é só você responder a pergunta, quando dois dias são iguais?! Não é quando ambos possuem o mesmo dia do mês, mês do ano e ano?! Então, como você implementaria essa comparação!
public int compare(Data data) {
return 0; //????
}
Faz uma força aí!
thiago.correa
O teu método que pega o mês por extendo está errado
1- porque o swicth só aceida inteiros e caracteres
2- como ele vai saber o mês que você quer?!
public String porExtenso() {
swicth(mesDoAno) {//onde mesDoAno é o teu atributo da tua classe data
}
}
Bom, primeiro que o construtor que você usou está Deprecated, ou seja, não deve ser mais usado, segundo, não precisar fazer toda essa volta para comparar dois objetos Date para tal, basta utilizar o método compareTo,
Date d1 = new Date();
Date d2 = new Date();
int result = d1.compareTo(d2);
mesmo que não quisesse utilizar o método Date, poderia ser feito da seguinte maneira
Ou seja, você tem de achar aquele algoritmo que indica se um ano é bissexto e você também tem de saber o número de dias de cada mês (abril tem 30 dias).
uallace
Obrigado a todos…em relação ao que o thiago.correa disse, sei que recebe inteiros e aqui ta dando certo…não sei se entendi bem…mas ele retorna o mes certo. Não consegui entender onde estar errado…Valeu pela ajuda.
uallace
To fazendo esta classe de verificação mas não da certo. Alguém pode me dizer pq?
Bom, primeiro que o construtor que você usou está Deprecated, ou seja, não deve ser mais usado, segundo, não precisar fazer toda essa volta para comparar dois objetos Date para tal, basta utilizar o método compareTo,
…