import java.util.*; public class Kalender { public static void main(String[] args) { String[] maanden = {"januari","februari","maart","april","mei","juni", "juli","augustus","september","oktober","november","december"}; // bepaal de datum van vandaag GregorianCalendar datum = new GregorianCalendar(); int dag = datum.get(Calendar.DATE); int jaar = datum.get(Calendar.YEAR); int maand = datum.get(Calendar.MONTH); String maandTekst = maanden[maand]; // bepaal de weekdag van vandaag int weekDag = datum.get(Calendar.DAY_OF_WEEK)-1; // bepaal de weekdag van de eerste dag van de maand int eersteWeekDag = (35+weekDag-(dag-1)) % 7; // bepaal aantal dagen per maand int dagenPerMaand = aantalDagen(maand,jaar); // laat het kopje van de kalender zien printKopje(maandTekst,jaar); // laat de dagen van de kalender zien printDagen(eersteWeekDag,dagenPerMaand); } private static int aantalDagen(int maand, int jaar) { int dagenPerMaand = 28; switch (maand) { case 1: { if (jaar%4 == 0 && (jaar%100 != 0 || jaar%400 ==0)) dagenPerMaand++; break; } case 3: case 5: case 8: case 10: { dagenPerMaand += 2; break; } default: dagenPerMaand += 3; } return(dagenPerMaand); } private static void printKopje(String maandTekst, int jaar) { int spaties = (20-(4+1+maandTekst.length()))/2; for (int i=0;i= 7) { eersteWeekDag = 0; System.out.println(""); } if (i < 10) System.out.print(" "); System.out.print(i+" "); eersteWeekDag++; } } }