Advertisement
brilliant_moves

DayFinder.java

Jan 29th, 2013
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 2.80 KB | None | 0 0
  1. import java.util.*;     // for GregorianCalendar
  2. import javax.swing.*;       // required for input dialogs
  3.  
  4. public class DayFinder {
  5.  
  6.     public static void main(String[] args) {
  7.  
  8.         /**
  9.         *   Program :   DayFinder.java
  10.         *   Purpose :   Displays the correct day of week for today's date,
  11.         *            and for a date you select (in the past or future)
  12.         *   Creator :   Chris Clarke
  13.         *   Created :   06.01.2011
  14.         */
  15.  
  16.         // create instance of calendar
  17.         GregorianCalendar now = new GregorianCalendar();
  18.         String message = "Today is ";
  19.         int day = now.get(Calendar.DAY_OF_MONTH);
  20.         int month = now.get(Calendar.MONTH);
  21.         int year = now.get(Calendar.YEAR);
  22.         int dayOfWeek = now.get(Calendar.DAY_OF_WEEK);
  23.         displayWeekDay(message, day, month, year, dayOfWeek);
  24.         String Day;
  25.         Day = JOptionPane.showInputDialog("Enter a date: day of month (1-31)");
  26.         String Month;
  27.         Month = JOptionPane.showInputDialog("Enter a date: month (1-12)");
  28.         String Year;
  29.         Year = JOptionPane.showInputDialog("Enter a date: year (4 digits)");
  30.         // convert Strings to integers
  31.         try {
  32.             day = Integer.parseInt(Day);
  33.         }
  34.         catch (Exception e) {
  35.             System.out.print("Error in day input!");
  36.             System.exit(0);
  37.         }
  38.         try {
  39.             month = Integer.parseInt(Month);
  40.         }
  41.         catch (Exception e) {
  42.             System.out.print("Error in month input!");
  43.             System.exit(0);
  44.         }
  45.  
  46.         month--;
  47.  
  48.         try {
  49.             year = Integer.parseInt(Year);
  50.         }
  51.         catch (Exception e) {
  52.             System.out.print("Error in year input!");
  53.             System.exit(0);
  54.         }
  55.         // check that they're within acceptable range
  56.         if (day<1 || day>31) {
  57.             System.out.print("Error in day input! Number outside range");
  58.             System.exit(0);
  59.         }
  60.         if (month<0 || month>11) {
  61.             System.out.print("Error in month input! Number outside range");
  62.             System.exit(0);
  63.         }
  64.         if (year<0 || year>3000) {
  65.             System.out.print("Error in year input! Number outside range");
  66.             System.exit(0);
  67.         }
  68.         GregorianCalendar d = new GregorianCalendar();
  69.         d.set(year, month, day);
  70.         message = "The day in question ";
  71.         if (d.after(now))
  72.             message += "will be a ";
  73.         else
  74.             message += "was a ";
  75.         dayOfWeek = d.get(Calendar.DAY_OF_WEEK);
  76.         displayWeekDay(message, day, month, year, dayOfWeek);
  77.         // end of main program
  78.     }//end main
  79.  
  80.     public static void displayWeekDay(String message, int day, int month, int year, int dayOfWeek) {
  81.         String weekDay = "";
  82.         switch (dayOfWeek) {
  83.             case 1:     weekDay="Sunday"; break;
  84.             case 2:     weekDay="Monday"; break;
  85.             case 3:     weekDay="Tuesday"; break;
  86.             case 4:     weekDay="Wednesday"; break;
  87.             case 5:     weekDay="Thursday"; break;
  88.             case 6:     weekDay="Friday"; break;
  89.             case 7:     weekDay="Saturday"; break;
  90.             default :   weekDay="Error";
  91.         }
  92.         // end of switch statement
  93.         System.out.print(message+weekDay);
  94.         System.out.println(" ("+day+"/"+(month+1)+"/"+year+")");
  95.     }//end displayWeekDay
  96. }//end class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement