Código Java para calcular o ano bissexto
Estou seguindo o livro "A Arte e a Ciência de Java" e mostra como calcular um ano bissexto. O livro usa a biblioteca do ACM Java Task Force.
Aqui está o código que os livros usam:
<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>
Agora, foi assim que calculei o ano bissexto.
<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>
Há algo de errado com o meu código ou devo usar o código fornecido pelo livro?
EDIT :: Ambos os códigos acima funcionam bem, o que eu quero perguntar é qual código é a melhor maneira de calcular o ano bissexto.