うるう年を判定する
うるう年を判定する3パターン
- 除算の余りを求める
- 除算を使わないで求める
- Javaのメソッドで求める
def isLeapYear(y){ println y println ((y % 4==0) && (y % 100!=0) || ( y % 400==0)) println (((y & 3)==0) && (!("$y" ==~ /.*00$/ )) || ((y & 15)==0)) println new GregorianCalendar().getInstance().isLeapYear(y) } isLeapYear(1900) isLeapYear(2000) isLeapYear(2008) isLeapYear(2009) isLeapYear(2100)
[c:\]groovy D:\workspace\groovy_SandBox\isLeapYear.groovy 1900 false false false 2000 true true true 2008 true true true 2009 false false false 2100 false false false
JavaでもisLeapYear()なんてメソッドあったのね。