Kod Java do obliczania roku przestępnego

Śledzę książkę „The Art and Science of Java” i pokazuje, jak obliczyć rok przestępny. Książka korzysta z biblioteki ACM Java Task Force.

Oto kod, którego używają książki:

<code>import acm.program.*;

public class LeapYear extends ConsoleProgram {
    public void run()
    {

        println("This program calculates leap year.");
        int year = readInt("Enter the year: ");     

        boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));

        if (isLeapYear)
        {
            println(year + " is a leap year.");
        } else
            println(year + " is not a leap year.");
    }

}
</code>

Tak obliczyłem rok przestępny.

<code>import acm.program.*;

public class LeapYear extends ConsoleProgram {
    public void run()
    {

        println("This program calculates leap year.");
        int year = readInt("Enter the year: ");

        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.");
        }
    }
}
</code>

Czy coś jest nie tak z moim kodem lub czy powinienem korzystać z kodu dostarczonego przez książkę?

EDIT :: Oba powyższe kody działają poprawnie. Chcę zapytać, który kod jest najlepszym sposobem obliczenia roku przestępnego.

questionAnswers(21)

yourAnswerToTheQuestion