그레고리력의 특정 연도가 윤년인지 알려주는 코드를 작성해야합니다. 그러나 나는 매년이 코드가 작동 할 지 확신하지 못합니다.이 코드가 윤년인지를 증명하는 것입니다.
코드를 붙여 넣기 전에 그레고리력 연도를 윤년으로 만드는 것이 무엇인지 알아야합니다. 모듈로 4를 0으로 설정하면 윤년입니다. 연도가 % 년이면 윤년입니다. 4 = 0이고 연도 % 100 = 0이면 그렇지 않습니다. 마지막으로 연도 % 4 = 0이고 연도 % 100 = 0이고 연도 % 400 = 0 인 경우 다음과 같습니다.
이 여기에 코드입니다 :
public static boolean isLeapYearGregorian(int year) {
if ((year % 4 == 0) && (year % 100 != 0) || (year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) {
return true;
}
else {
return false;
}
}
감사
기록을 위해
무엇이 문제인가? – XtremeBaumer
관찰 :'(연도 % 4 == 0) && (연도 % 100 == 0) && (연도 % 400 == 0) '단편을 (연도 % 400 == 0)' 400의 배수는 반드시 4와 100의 배수). – khelwood
몇 년 더 확인하십시오. 2016 년에 작동합니까? 2017? 1600? 1601? 테스트하는 케이스가 많을수록 자신감이 커질 수 있습니다.이것은 단위 테스트의 본질입니다. 아직도 확실하지 않다면, 왜 자신에게 물어보십시오. 그리고 의심이 합리적이라면, 더 많은 테스트 케이스를 마련하여 문제를 해결하십시오. –