/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.text.SimpleDateFormat ;
import java.util.Calendar ;
import java.util.Date ;
import java.util.Locale ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System .
out .
println ( "Ultimo lunes de Enero 2018 :: " + getLastMondayofMonth
( 1 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Febrero 2018 :: " + getLastMondayofMonth
( 2 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Marzo 2018 :: " + getLastMondayofMonth
( 3 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Abril 2018 :: " + getLastMondayofMonth
( 4 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Mayo 2018 :: " + getLastMondayofMonth
( 5 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Junio 2018 :: " + getLastMondayofMonth
( 6 ,
2018 ) ) ; System .
out .
println ( "Ultimo lunes de Julio 2018 :: " + getLastMondayofMonth
( 7 ,
2018 ) ) ; }
private static String getLastMondayofMonth
( int month,
int year
) { final String DATE_FORMAT_NOW
= "dd-MMM-yyyy" ;
int dayofweek;
cal.
set ( Calendar .
MONTH , month
- 1 /* January 0 and so on..*/ ) ; dayofweek
= cal.
get ( Calendar .
DAY_OF_WEEK ) ; } else {
}
return sdf.format ( cal.getTime ( ) ) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50ZXh0LlNpbXBsZURhdGVGb3JtYXQ7CmltcG9ydCBqYXZhLnV0aWwuQ2FsZW5kYXI7CmltcG9ydCBqYXZhLnV0aWwuRGF0ZTsKaW1wb3J0IGphdmEudXRpbC5Mb2NhbGU7CgoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCVN5c3RlbS5vdXQucHJpbnRsbigiVWx0aW1vIGx1bmVzIGRlIEVuZXJvIDIwMTggOjogIiArIGdldExhc3RNb25kYXlvZk1vbnRoKDEsIDIwMTgpKTsgCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVWx0aW1vIGx1bmVzIGRlIEZlYnJlcm8gMjAxOCA6OiAiICsgZ2V0TGFzdE1vbmRheW9mTW9udGgoMiwgMjAxOCkpOyAKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJVbHRpbW8gbHVuZXMgZGUgTWFyem8gMjAxOCA6OiAiICsgZ2V0TGFzdE1vbmRheW9mTW9udGgoMywgMjAxOCkpOyAKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJVbHRpbW8gbHVuZXMgZGUgQWJyaWwgMjAxOCA6OiAiICsgZ2V0TGFzdE1vbmRheW9mTW9udGgoNCwgMjAxOCkpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlVsdGltbyBsdW5lcyBkZSBNYXlvIDIwMTggOjogIiArIGdldExhc3RNb25kYXlvZk1vbnRoKDUsIDIwMTgpKTsgCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVWx0aW1vIGx1bmVzIGRlIEp1bmlvIDIwMTggOjogIiArIGdldExhc3RNb25kYXlvZk1vbnRoKDYsIDIwMTgpKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJVbHRpbW8gbHVuZXMgZGUgSnVsaW8gMjAxOCA6OiAiICsgZ2V0TGFzdE1vbmRheW9mTW9udGgoNywgMjAxOCkpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBTdHJpbmcgZ2V0TGFzdE1vbmRheW9mTW9udGgoaW50IG1vbnRoLCBpbnQgeWVhcil7CiAgICBmaW5hbCBTdHJpbmcgREFURV9GT1JNQVRfTk9XID0gImRkLU1NTS15eXl5IjsKICAgIENhbGVuZGFyIGNhbCA9IENhbGVuZGFyLmdldEluc3RhbmNlKCk7CiAgICBTaW1wbGVEYXRlRm9ybWF0IHNkZiA9IG5ldyBTaW1wbGVEYXRlRm9ybWF0KERBVEVfRk9STUFUX05PVyk7CgogICAgaW50IGRheW9md2VlazsKICAgICAgICBjYWwuc2V0KENhbGVuZGFyLk1PTlRILCBtb250aCAtIDEgLyogSmFudWFyeSAwIGFuZCBzbyBvbi4uKi8pOwogICAgICAgIGNhbC5zZXQoQ2FsZW5kYXIuREFZX09GX01PTlRILGNhbC5nZXRBY3R1YWxNYXhpbXVtKENhbGVuZGFyLkRBWV9PRl9NT05USCkpOwogICAgICAgIGNhbC5zZXQoQ2FsZW5kYXIuWUVBUiwgeWVhcik7CiAgICBkYXlvZndlZWsgPWNhbC5nZXQoQ2FsZW5kYXIuREFZX09GX1dFRUspOwogICAgaWYgKGRheW9md2VlayA8IENhbGVuZGFyLk1PTkRBWSkgewogICAgICAgIGNhbC5zZXQoQ2FsZW5kYXIuREFZX09GX01PTlRILCBjYWwuZ2V0KENhbGVuZGFyLkRBWV9PRl9NT05USCkgLSA3ICsgQ2FsZW5kYXIuTU9OREFZIC0gZGF5b2Z3ZWVrKTsKICAgIH1lbHNlIHsKICAgICAgICBjYWwuc2V0KENhbGVuZGFyLkRBWV9PRl9NT05USCwgY2FsLmdldChDYWxlbmRhci5EQVlfT0ZfTU9OVEgpICsgQ2FsZW5kYXIuTU9OREFZIC0gZGF5b2Z3ZWVrKTsKICAgIH0KICAgIHJldHVybiBzZGYuZm9ybWF0KGNhbC5nZXRUaW1lKCkpOwp9Cgp9