Thursday, February 19, 2015

Calendar java in pgm



Calendar.java

public class Calendar
{
 public static int day(int M, int D, int Y)
{
        int y = Y - (14 - M) / 12;
        int x = y + y/4 - y/100 + y/400;
        int m = M + 12 * ((14 - M) / 12) - 2;
        int d = (D + x + (31*m)/12) % 7;
        return d;
    }
                  public static boolean isLeapYear(int year)
                  {
        if  ((year % 4 == 0) && (year % 100 != 0)) return true;
        if  (year % 400 == 0) return true;
        return false;
    }
     public static void main(String[] args)
    {
        int M = Integer.parseInt(args[0]);   
        int Y = Integer.parseInt(args[1]);   

         String[] months = {
             "",                              
             "January", "February", "March",
             "April", "May", "June",
             "July", "August", "September",
             "October", "November", "December"
        };

        int[] days = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
                     if (M == 2 && isLeapYear(Y)) days[M] = 29;

                    StdOut.println("   " + months[M] + " " + Y);
        StdOut.println(" S  M Tu  W Th  F  S");

        int d = day(M, 1, Y);
                     for (int i = 0; i < d; i++)
            StdOut.println("   ");
        for (int i = 1; i <= days[M]; i++)
        {
            StdOut.printf("%2d ", i);
            if (((i + d) % 7 == 0) || (i == days[M]))
            StdOut.println();
  }
            }
        }

No comments:

Post a Comment