> Java > java지도 시간 > 윤년을 결정하는 데 가장 적합한 Java 코드는 무엇입니까?

윤년을 결정하는 데 가장 적합한 Java 코드는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-07 12:15:17
원래의
907명이 탐색했습니다.

What's the Best Java Code for Determining Leap Years?

윤년 계산을 위한 Java 코드: 두 가지 접근 방식 비교

윤년 계산은 일반적인 코딩 연습입니다. 두 가지 접근 방식이 자주 사용됩니다. 하나는 "The Art and Science of Java"에 제시된 것과 다른 하나는 일반적으로 사용되는 솔루션입니다.

"The Art and Science of Java"의 코드

boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));
로그인 후 복사

이 코드는 연도가 4로 나누어지지만 100으로 나누어지지 않는지, 또는 400으로 나누어지는지 확인합니다. 논리는 작동하지만 불필요하게 복잡합니다.

개선된 코드

if ((year % 4 == 0) && year % 100 != 0) {
    println(year + " is a leap year.");
} else if ((year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) {
    println(year + " is a leap year.");
} else {
    println(year + " is not a leap year.");
}
로그인 후 복사

이 개선된 코드는 논리를 두 가지 조건, 즉 연도를 4로 나눌 수 있지만 그렇지 않은 두 가지 조건으로 분할하여 논리를 단순화합니다. 100년은 윤년이고, 400으로 나누어지는 해도 윤년이다. 100). 이 코드는 더 읽기 쉽고 간결합니다.

대체 솔루션

public static boolean isLeapYear(int year) {
  return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0);
}
로그인 후 복사

이 대체 솔루션은 두 가지 개별 조건을 보다 효율적인 하나의 표현식으로 결합합니다. 단순성과 성능으로 인해 가장 일반적으로 사용되는 접근 방식입니다.

어떤 코드가 가장 좋은가요?

향상된 코드는 두 코드 사이의 균형을 유지하는 최선의 선택입니다. 가독성과 효율성. 대부분의 윤년 계산에 대해 이해하기 쉽고 잘 수행됩니다. 그러나 성능이 주요 관심사인 경우 대체 솔루션은 여전히 ​​유효한 옵션입니다.

위 내용은 윤년을 결정하는 데 가장 적합한 Java 코드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿