Advertisement
Blizzardo1

Calendar

Oct 30th, 2012
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.60 KB | None | 0 0
  1. // Copyright Adonis S. Deliannis, 2012
  2. // All rights Reserved
  3.  
  4.  
  5. package net.calendar.app;
  6.  
  7. import java.util.Calendar;
  8. import java.util.Scanner;
  9.  
  10. public final class Program {
  11.  
  12.     public Program() {
  13.  
  14.     }
  15.  
  16.     /**
  17.      * @param args
  18.      */
  19.     public static void main(String[] args) {
  20.         Program P = new Program();
  21.         int Year = 0, Start = 0;
  22.         Scanner scin = new Scanner(System.in);
  23.         P.print("Please enter a Year: ");
  24.        
  25.         Year = scin.nextInt();
  26.         Calendar cal = Calendar.getInstance();
  27.         cal.clear();
  28.         cal.set(Year, 0, 0);
  29.         Start = cal.get(Calendar.DAY_OF_WEEK);
  30.         if(Start > 6)
  31.             Start = 0;
  32.         for (int Month = 1; Month <= 12; Month++) {
  33.             P.printOneMonth(Month, Year, Start);
  34.             Start = (Start + P.daysOfMonth(Month, Year, true)) % 7;
  35.  
  36.             P.print("Enter random text and press enter...\r\n");
  37.             scin.next();
  38.  
  39.             P.println();
  40.         }
  41.     }
  42.  
  43.     public void println() {
  44.         System.out.println();
  45.     }
  46.  
  47.     public void println(Object O) {
  48.         System.out.println(O);
  49.     }
  50.  
  51.     public void print(Object O) {
  52.         System.out.print(O);
  53.     }
  54.  
  55.     public boolean isLeapYear(int Year) {
  56.         return (Year % 4) == 0 && (Year % 100) != 0 || (Year % 400) == 0;
  57.     }
  58.  
  59.     public String printMonthName(int Month) {
  60.         switch (Month) {
  61.         case 1:
  62.             return "January";
  63.         case 2:
  64.             return "February";
  65.         case 3:
  66.             return "March";
  67.         case 4:
  68.             return "April";
  69.         case 5:
  70.             return "May";
  71.         case 6:
  72.             return "June";
  73.         case 7:
  74.             return "July";
  75.         case 8:
  76.             return "August";
  77.         case 9:
  78.             return "September";
  79.         case 10:
  80.             return "October";
  81.         case 11:
  82.             return "November";
  83.         case 12:
  84.             return "December";
  85.         }
  86.         return "Not a valid month";
  87.     }
  88.  
  89.     public int printWeekTitle(int Month, int Day, int Year) {
  90.         Calendar cal = Calendar.getInstance();
  91.         cal.clear();
  92.         cal.set(Year, Month, Day);
  93.         return cal.get(Calendar.WEEK_OF_YEAR);
  94.     }
  95.  
  96.     public void printOneMonth(int month, int year, int start) {
  97.         int nextDay = start;
  98.         int totalDays = daysOfMonth(month, year, false);
  99.         // Write code to call method to print month name
  100.         // Write code to call method to print week title
  101.         // Write code to call method to move cursors to the right starting
  102.         // position.
  103.  
  104.         System.out.printf("%10s%10s%10s%10s%10s%10s%10s", "Sun", "Mon", "Tue",
  105.                 "Wed", "Thu", "Fri", "Sat");
  106.         println();
  107.         for (int i = 1; i <= start; i++)
  108.             System.out.printf("%10s", "");
  109.  
  110.         for (int dates = 1; dates <= totalDays; dates++) {
  111.             System.out.printf("%10d", dates);
  112.             nextDay = (nextDay + 1) % 7;
  113.             if (nextDay == 0)
  114.                 println();
  115.         }
  116.         println();
  117.     }
  118.  
  119.     public int daysOfMonth(int Month, int Year, boolean SuppressMessage) {
  120.  
  121.         if (!SuppressMessage) {
  122.             String format = String.format(
  123.                     "Calculating the days of the Month of %s in %s",
  124.                     printMonthName(Month), Year);
  125.             println(format);
  126.         }
  127.         switch (Month) {
  128.         // January, March, May, July, August, October, December
  129.         case 1:
  130.         case 3:
  131.         case 5:
  132.         case 7:
  133.         case 8:
  134.         case 10:
  135.         case 12:
  136.             if (!SuppressMessage)
  137.                 println("The Month of " + printMonthName(Month) + " has " + 31
  138.                         + " days.");
  139.             return 31;
  140.  
  141.             // April, June, September, November
  142.         case 4:
  143.         case 6:
  144.         case 9:
  145.         case 11:
  146.             if (!SuppressMessage)
  147.                 println("The Month of " + printMonthName(Month) + " has " + 30
  148.                         + " days.");
  149.             return 30;
  150.  
  151.             // February
  152.         case 2:
  153.             if (isLeapYear(Year)) {
  154.                 if (!SuppressMessage)
  155.                     println("The Month of " + printMonthName(Month) + " has "
  156.                             + 29 + " days.");
  157.                 return 29;
  158.             } else {
  159.                 if (!SuppressMessage)
  160.                     println("The Month of " + printMonthName(Month) + " has "
  161.                             + 28 + " days.");
  162.                 return 28;
  163.             }
  164.         }
  165.         return 0;
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement