Mais sobre recuperando o total de dias de cadas mes

Eu recebi uma otima dica que resolveu parte de meu problema de recuperar o numero de dias de cada mes:
Calendar c = Calendar.getInstance();

int max;
for(int i=0; i < 12; i++) {
max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(max + “/” + (c.get(Calendar.MONTH) + 1) + “/” + c.get(Calendar.YEAR));
c.add(Calendar.MONTH, 1);
}

Mas o outro problema seria: como eu poderia formata da data pata o formato de java.util.Date ???
Tentei resolver da seguinte forma:

Calendar c = Calendar.getInstance();
SimpleDateFormat formatador = new SimpleDateFormat(“dd/MM/yyyy”);
DateFormat formato = DateFormat.getDateInstance();
for(int i=0; i < 3; i++) {
Date dt = formatador.parse(c.getActualMaximum(Calendar.DAY_OF_MONTH) + “/” + (c.get(Calendar.MONTH) + 1) + “/” + c.get(Calendar.YEAR));
c.add(Calendar.MONTH, 1);
System.out.println("mes projetado : " + formato.format(dt));
}
Mas acho q escrivi muitas linha desnecessarias…
Será que teria outra solução um pouco mais simples para esse problemas ??? Qual é a diferença das classes DAte, Calendar e GregorianCalendar ???

cara… tu pode fazer assim

	Calendar c = Calendar.getInstance();
	DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
	int max;
	Date date;
	String strDate;
	for(int i=0; i < 12; i++) {
		max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
		c.set(Calendar.DAY_OF_MONTH, max);
		date = c.getTime();			
		strDate = format.format(date);			
		c.add(Calendar.MONTH, 1);
		System.out.println(date + " = " + strDate);
	}