/* Dates.java */ import java.io.*; class Dates { public static int daysInMonth (int month) { /* Precondition: month is between 1 and 12, inclusive */ /* Postcondition: returns the number of days in the given month */ /* 30 days have September, April, June and November. */ if (month == 9) || (month == 4) || (month == 6) || (month == 11)) return 30; /* All the rest have 31, except for February .... */ if (month == 2) return 28; return 31; } public static void main (String[] args) { int someMonth, someDay; int laterMonth, laterDay; int daysBetween; int aMonth; someMonth = Integer.parseInt(args[0]); someDay = Integer.parseInt(args[1]); laterMonth = Integer.parseInt(args[2]); laterDay = Integer.parseInt(args[3]); /* Used to record what day in the year the first day */ /* of someMonth and laterMonth are. */ int someDayInYear = 0; int laterDayInYear = 0; for (aMonth = 0, aMonth < someMonth; aMonth++) { someDayInYear = someDayInYear + daysInMonth(aMonth); } for (aMonth = 1; aMonth < laterMonth; aMonth++) { laterDayInYear = laterDayInYear + daysInMonth(aMonth); } /* The answer */ daysBetween = laterDayInYear + laterDay - (someDayInYear + someDay); System.out.println("The difference in days between " + someMonth + "/" + someDay + " and " + laterMonth + "/" + laterDay + " is: " + daysBetween); } // end of main } // end of class Dates