Olá galera sempre venho ao GUJ matarar 99,100% das minhas dúvidas, mas dessa vez não teve jeito me deparei com um exercício relativamente simples, mas no qual não consigo chegar a uma solução…
O exercicio diz que tem se uma classe chamada TempoCurso com os seguintes atributos:
public class TempoCurso {
private Date dataInicioCurso;
private int tempoCurso;
private Date dataMaxConclusaoCurso;
}
Onde a dataInicioCurso vai ser digitada pelo usuario, assim como o tempo do curso(em anos). O atributo dataMaxConclusaoCurso tem que ser o ultimo dia do mês informado na dataInicioCurso com o ano já calculado (dataInicioCurso + tempoCurso).
como um principiante na programação…cheguei a fazer “isto” para calcular dataMaxConclusaoCurso:
public void calculoDataMaxConclusaoCurso(){
Calendar c = new GregorianCalendar();
c.add(Calendar.MONTH, (dataInicioCurso.getMonth() -1));
dataMaxConclusaoCurso.setDate(c.getMaximum(c.DAY_OF_MONTH));
dataMaxConclusaoCurso.setMonth(c.MONTH);
dataMaxConclusaoCurso.setYear(dataInicioCurso.getYear() + tempoCurso);
}
Bem além de não funcionar, isto está me cheirando a gambiarra :? . Usei GregorianCalendar porque pelo que eu vi a classe Date não ofereçe muitas opções para lidar com data, além dos getts…
Gostaria de saber se estou no caminho certo… :thumbup: ou se nem cheguei perto (como por exemplo o fato de parecer uma gambiarra).
E se tem alguma forma mais simples de calcular o ultimo dia do mês…
Desde já eu agradeço…