使用布尔表达式表示闰年

Joh*_*lly -10 java

考试问题:

写下以下的布尔表达式:A是闰年.

任何帮助,将不胜感激!

pas*_*ein 6

一年是闰年,如果它可以被4整除而不能被100整除,但如果它可以被400整除则总是一年.你可以将其翻译成代码:

int year = 2004;
boolean leap = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
Run Code Online (Sandbox Code Playgroud)

模数运算符(%)在分割数字时给出余数,因此等于0第一个数字可被第二个整除.

正如Bathsheba指出的那样,这只适用于格里高利历(我们的现代系统自1582年以来在某些国家甚至更晚的其他国家),如果你想要在这个日期之前处理数年,代码将会复杂得多并且需要对当时的确切规则进行一些研究.但是,在考试中,您不必担心这些问题.

  • 如果你指出这只是格里高利历的情况,那就更加布朗尼了.在儒略历中,闰年是错误的,每3年一次.哎呀. (2认同)