Implementing Monthly Calendar Program In JAVA

Introduction

 
In this blog, we will learn how to get started with Monthly Calendar Program in Java.
 

Software Requirement

 
JAVA, NOTEPAD. 
  1. import java.util.*;  
  2. import java.text.*;  
  3.   
  4. public class MonthCalender {  
  5.   
  6.  public final static String[] monthcalender = {  
  7.   "January",  
  8.   "February",  
  9.   "March",  
  10.   "April",  
  11.   "May",  
  12.   "June",  
  13.   "July",  
  14.   "August",  
  15.   "September",  
  16.   "October",  
  17.   "November",  
  18.   "December"  
  19.  };  
  20.   
  21.  public final static int daysinmonths[] = {  
  22.   31,  
  23.   28,  
  24.   31,  
  25.   30,  
  26.   31,  
  27.   30,  
  28.   31,  
  29.   31,  
  30.   30,  
  31.   31,  
  32.   30,  
  33.   31  
  34.  };  
  35.   
  36.  private void displayMonth(int month, int year) {  
  37.   
  38.   int blankdays = 0;  
  39.   System.out.println("  " + monthcalender[month] + " " + year);  
  40.   
  41.   if (month < 0 || month > 11) {  
  42.    throw new IllegalArgumentException(  
  43.     "Month " + month + " It is not valid and must lie in between 0 and 11");  
  44.   }  
  45.   
  46.   GregorianCalendar cldr = new GregorianCalendar(year, month, 1);  
  47.   System.out.println("Sunday Monday Tuesday Wednesday Thursday Friday Saturday");  
  48.   
  49.   
  50.   blankdays = cldr.get(Calendar.DAY_OF_WEEK) - 1;  
  51.   int daysInMonth = daysinmonths[month];  
  52.   
  53.   if (cldr.isLeapYear(cldr.get(Calendar.YEAR)) && month == 1) {  
  54.   
  55.    ++daysInMonth;  
  56.   }  
  57.   
  58.   for (int i = 0; i < blankdays; i++) {  
  59.    System.out.print("   ");  
  60.   }  
  61.   
  62.   for (int i = 1; i <= daysInMonth; i++) {  
  63.   
  64.    if (i <= 9) {  
  65.     System.out.print(" ");  
  66.    }  
  67.    System.out.print(i);  
  68.   
  69.    if ((blankdays + i) % 7 == 0) {  
  70.     System.out.println();  
  71.    } else {  
  72.     System.out.print(" ");  
  73.    }  
  74.   }  
  75.  }  
  76.   
  77.  public static void main(String[] args) {  
  78.   
  79.   int mon, yr;  
  80.   MonthCalender moncldr = new MonthCalender();  
  81.   
  82.   if (args.length == 2) {  
  83.    moncldr.displayMonth(Integer.parseInt(args[0]) - 1, Integer.parseInt(args[1]));  
  84.   } else {  
  85.    Calendar todaycldr = Calendar.getInstance();  
  86.    moncldr.displayMonth(todaycldr.get(Calendar.MONTH), todaycldr.get(Calendar.YEAR));  
  87.   }  
  88.  }  
  89. }   
Output 

calender
 
Monthly Calendar has been created successfully. Feel free to comment with some suggestions.