Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 10th, 2012  |  syntax: None  |  size: 5.74 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /**
  2.  * Assignment 2                  P2.java                      Due July 11, 2012
  3.  * login:  cs11ubu
  4. **/
  5.  
  6. /**
  7.  * class P2
  8.  * This program produces a calendar month to match user input of specified
  9.  * month. It will then prompt for a a new input to display another month.
  10.  * This will continue until the user ends the program.
  11. **/
  12.  
  13. import java.util.*;
  14.  
  15. public class P2
  16. {
  17.     private static final int JAN = 1;          // January
  18.    
  19.     public static void main( String args[] )
  20.     {
  21.       final int SUN       = 1;                 // Sunday - 1st day in year
  22.       final int DAYS_WK   = 7;                 // 7 days in week
  23.  
  24.       char      choice ;                       // Repeat loop
  25.       int       mon;                           // Month of year
  26.       int       days = 0;                      // Number of days in a month
  27.       int          i = 0;
  28.       int          j = 0;
  29.       int          k = 0;
  30.       int total_days = 0;
  31.       int     offset = 0;
  32.  
  33.       Scanner scan = new Scanner(System.in);   // Read input from keyboard
  34.       String inputStr = null;                  // Input string
  35.  
  36.  
  37.  
  38.       System.out.print("Enter month in 2012 to display calendar (1-12):  ");
  39.       mon = scan.nextInt();                    // Input calendar month
  40.  
  41.       prtMonthTitle(mon);
  42.  
  43.       for( i = 1 ; i <= mon ; i++ )
  44.       {
  45.         if(i == 1)
  46.         {
  47.         days = getNumDaysInMonth(i);
  48.         offset = 0;
  49.         }
  50.         else
  51.         {
  52.         days = getNumDaysInMonth(i);
  53.         total_days = total_days + days;
  54.         offset = total_days%DAYS_WK;
  55.         }
  56.       }
  57.  
  58.      
  59.       for ( j = 1; j <= offset ; j++ )
  60.       {
  61.         System.out.print("       ");
  62.       }
  63.  
  64.       for ( k = 1; k <= days ; k++ )
  65.       {
  66.         if(k < 10)
  67.         {
  68.           System.out.print(" " + k + "     ");
  69.         }        
  70.         else
  71.         {
  72.           System.out.print(k + "     ");
  73.         }
  74.         if((offset + k)%7 == 0)
  75.         {
  76.           System.out.print("\n");
  77.         }
  78.       }
  79.        
  80.     }
  81.  
  82.  
  83.     public static void prtMonthTitle( int month )
  84.     {
  85.  
  86.       switch ( month ) {
  87.         case 1:
  88.           System.out.print("*******************JANUARY*******************"
  89.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  90.                            +"SAT\n");
  91.           break;
  92.         case 2:
  93.           System.out.print("*******************FEBRUARY******************"
  94.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  95.                            +"SAT\n");
  96.           break;
  97.         case 3:
  98.           System.out.print("********************MARCH********************"
  99.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  100.                            +"SAT\n");
  101.           break;
  102.         case 4:
  103.           System.out.print("********************APRIL********************"
  104.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  105.                            +"SAT\n");
  106.           break;
  107.         case 5:
  108.           System.out.print("*********************MAY*********************"
  109.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  110.                            +"SAT\n");
  111.           break;
  112.         case 6:
  113.           System.out.print("*********************JUNE********************"
  114.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  115.                            +"SAT\n");
  116.           break;
  117.         case 7:
  118.           System.out.print("*********************JULY********************"
  119.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  120.                            +"SAT\n");
  121.           break;
  122.         case 8:
  123.           System.out.print("********************AUGUST*******************"
  124.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  125.                            +"SAT\n");
  126.           break;
  127.         case 9:
  128.           System.out.print("*****************SEPTEMBER*******************"
  129.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  130.                            +"SAT\n");
  131.           break;
  132.         case 10:
  133.           System.out.print("*******************OCTOBER*******************"
  134.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  135.                            +"SAT\n");
  136.           break;
  137.         case 11:
  138.           System.out.print("*******************NOVEMBER******************"
  139.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  140.                            +"SAT\n");
  141.           break;
  142.         case 12:
  143.           System.out.print("*******************DECEMBER******************"
  144.                            +"\nSUN    MON    TUES    WED    THU    FRI   "
  145.                            +"SAT\n");
  146.           break;
  147.         }
  148.     }
  149.    
  150.     public static int getNumDaysInMonth( int month )
  151.     {
  152.     int days_month = 0;
  153.       switch ( month) {
  154.         case 1:
  155.           days_month = 31;
  156.         break;
  157.         case 2:
  158.           days_month = 29;
  159.         break;
  160.         case 3:
  161.           days_month = 31;
  162.         break;
  163.         case 4:
  164.           days_month = 30;
  165.         break;
  166.         case 5:
  167.           days_month = 31;
  168.         break;
  169.         case 6:
  170.           days_month = 30;
  171.         break;
  172.         case 7:
  173.           days_month = 31;
  174.         break;
  175.         case 8:
  176.           days_month = 31;
  177.         break;
  178.         case 9:
  179.           days_month = 30;
  180.         break;
  181.         case 10:
  182.           days_month = 31;
  183.         break;
  184.         case 11:
  185.           days_month = 30;
  186.         break;
  187.         case 12:
  188.           days_month = 31;
  189.         break;
  190.       }
  191.        return ( days_month );
  192.     }
  193. }