Я следую книге «Искусство и наука Явы», и она показывает, как вычислить високосный год. В книге используется библиотека ACM Java Task Force.Java-код для вычисления високосного года
Вот код книги использует:
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.");
}
}
}
Есть ли что-то не так с моим кодом, или я должен использовать тот, который предоставляется книгой?
EDIT :: Оба вышеуказанного кода работают нормально, что я хочу спросить, какой код является лучшим способом для вычисления високосного года.
Лучший код будет использовать доверенную библиотеку вместо этого. Предположение Клетуса об использовании класса Calendar является ярким примером этого. –
Вы правы, если я использую обычную библиотеку Java. Но, в моем курсе, я использовал библиотеку ACM Java Task Force. http://www-cs-faculty.stanford.edu/~eroberts/jtf/ –
Вот такая же тема. http://stackoverflow.com/questions/7395699/calculate-leap-year-in-java/7395759#7395759 – CharithJ