Io farei così:

codice:
import java.util.*;

public class Calendario
{
    public static void main (String[] args)
    {
        try
        {
            int mese = Integer.parseInt (args[0]);
            int anno = Integer.parseInt (args[1]);

            Calendar c = new GregorianCalendar (anno, mese-1, 1);

            int lastday = c.getActualMaximum (Calendar.DAY_OF_MONTH);
            int weekday = c.get (Calendar.DAY_OF_WEEK);

            System.out.println ("Lu Ma Me Gi Ve Sa Do");

            int day = 1 - (weekday + 5) % 7;
            int col = 0;

            while (day <= lastday)
            {
                if (day >= 1)
                    System.out.format ("%2d ", day);
                else
                    System.out.print ("   ");

                day++;

                if (++col == 7)
                {
                    System.out.println ();
                    col = 0;
                }
            }

            if (col > 0)
                System.out.println ();
        }
        catch (Exception e)
        {
            System.out.println (e);
        }
    }
}
Provare passando 2 2008 come argomenti.