我正在阅读《Java 的艺术与科学》一书,它展示了如何计算闰年。该书使用了 ACM Java Task Force 的库。
这是该书使用的代码:
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.");
}
}
现在,这是我计算闰年的方法。
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.");
}
}
}
我的代码有问题吗?还是应该使用书中提供的代码?
编辑:上述两个代码都可以正常工作,我想问的是哪个代码是计算闰年的最佳方法。
java.time.Year
是你的好朋友。请参见答案。 - Basil Bourque