Jump to content

Last Friday of each month: Difference between revisions

→‎{{header|Java}}: simpler version
(→‎{{header|Go}}: simpler calculation of friday delta)
(→‎{{header|Java}}: simpler version)
Line 331:
=={{header|Java}}==
{{works with|Java|1.5+}}
<lang java5>import java.text.DateFormatSymbols*;
import java.util.Calendar*;
import java.util.GregorianCalendar;
 
public class LastFridayLastFridays {
 
private static int[] months = {Calendar.JANUARY, Calendar.FEBRUARY,
public static void main(String[] args) throws Exception {
Calendar.MARCH, Calendar.APRIL, Calendar.MAY, Calendar.JUNE,
int year = Integer.parseInt(args[0]);
Calendar.JULY, Calendar.AUGUST, Calendar.SEPTEMBER, Calendar.OCTOBER,
GregorianCalendar datec = new GregorianCalendar(year, month0, days1);
Calendar.NOVEMBER, Calendar.DECEMBER};
 
public static void main(String[] args){
for (String monthStrm =: new DateFormatSymbols().getShortMonths()[month];) {
int year = Integer.parseInt(args[0]);
int totalDaysOfMonth = c.getActualMaximum(Calendar.DAY_OF_MONTH);
boolean leapYear = new GregorianCalendar().isLeapYear(year);
date c.addset(Calendar.DAY_OF_MONTH, -1totalDaysOfMonth);
for(int month:months){
 
int days = 31;
int daysToRollBack = (c.get(Calendar.DAY_OF_WEEK) + 1) % 7;
switch(month){
c.roll(Calendar.DAY_OF_MONTH, -daysToRollBack);
case Calendar.SEPTEMBER:
 
case Calendar.APRIL:
int d = c.get(Calendar.DAY_OF_MONTH);
case Calendar.JUNE:
System.out.printf("%d %s %d\n", year, m, d);
case Calendar.NOVEMBER:
 
days = 30;
c.set(Calendar.DAY_OF_MONTH, 1);
break;
case c.add(Calendar.FEBRUARY:MONTH, 1);
}
days = leapYear ? 29 : 28;
}
default:
}
GregorianCalendar date = new GregorianCalendar(year, month, days);
while(date.get(Calendar.DAY_OF_WEEK) != Calendar.FRIDAY){
date.add(Calendar.DAY_OF_MONTH, -1);
}
String monthStr = new DateFormatSymbols().getShortMonths()[month];
System.out.println(monthStr +" "+ date.get(Calendar.DAY_OF_MONTH));
}
}
}</lang>
Output (for <code>java LastFriday 2012</code>):
<pre>Jan2012 jan 27
Feb2012 feb 24
Mar2012 mrt 30
Apr2012 apr 27
May2012 mei 25
Jun2012 jun 29
Jul2012 jul 27
Aug2012 aug 31
Sep2012 sep 28
Oct2012 okt 26
Nov2012 nov 30
Dec2012 dec 28</pre>
 
=={{header|Mathematica}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.