Io non sono esperto perchè sto ancora imparando (e la strada credo sarà lunghissima), però ho affrontato bene (almeno credo) la parte riguardante gli array e i costrutti di ciclo (while / for / do-while) e il tuo mi sembra un problema che si affronta per bene con queste due cose (poi, ovviamente, non sapendo esattamente quello che devono fare quei metodi non lo posso certo dire con assoluta certezza)... però hai scritto che devono fare sempre la stessa cosa e che cambia solo il numero di iterazioni.
Quindi io opterei per qualcosa di questo tipo (che spreca un po' di posizioni della matrice che non vengono usate, ma magari ti semplifica un po' il problema):
// All'interno della classe (al di fuori dei metodi) dichiari una matrice "calendario" che rappresenta tutto il tuo anno
int[][] calendario = new int[12][31];
// E dichiari un array con il numero di giorni per ciascun mese dell'anno (non saprei come potresti trattare il caso dell'anno bisestile)
int[] giorniMese = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// Nel main
public static void main(String[] args) {
// Istruzioni prima dei calcoli
for(int i=0; i<12; i++) {
faiQualcosa(calendario, i, giorniMese[i]); // Richiama il metodo che eseguirà i tuoi calcoli sul mese i-esimo
}
// Istruzioni dopo i calcoli
}
// Questo metodo (uno solo!) esegue i calcoli su ciascun mese dell'anno
// con la lunghezza giusta per quel mese
void faiQualcosa(int[][] cal, int mese, int numeroGiorni) {
// Eventuali operazioni da fare prima
for(int i=0; i<numeroGiorni; i++) {
cal[mese][i] = tuocalcolo; // se devi calcolare un valore per ciascun giorno
}
// Eventuali operazioni da fare dopo
}
Ovviamente quelli più esperti di me sapranno darti soluzioni migliori e più efficienti, ma questo è ciò che è venuto in mente a me.