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

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