Questo è un modo semplice e corretto per farlo:
	codice:
	import java.text.*;
import java.util.*;
public class Prova {
    public static void main(String[] args) {
        GregorianCalendar c1 = new GregorianCalendar(2014, Calendar.APRIL, 11);
        GregorianCalendar c2 = new GregorianCalendar(2014, Calendar.DECEMBER, 11);
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        while (c1.compareTo(c2) <= 0) {
            System.out.println(sdf1.format(c1.getTime()));
            c1.add(Calendar.MONTH, 1);
        }
    }
}
 
Output:
2014-04-11
2014-05-11
2014-06-11
2014-07-11
2014-08-11
2014-09-11
2014-10-11
2014-11-11
2014-12-11