使用布尔表达式表示闰年

时间:2014-07-23 13:30:30

标签: java

考试问题:

  

为以下内容编写布尔表达式:   A是闰年。

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:6)

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

int year = 2004;
boolean leap = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);

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

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

答案 1 :(得分:0)

http://en.wikipedia.org/wiki/Leap_year

来自文章伪代码:

if year is not divisible by 4 then common year
else if year is not divisible by 100 then leap year
else if year is not divisible by 400 then common year
else leap year

答案 2 :(得分:0)

 if((A%4==0) && A%100!=0)||A%400==0)

答案 3 :(得分:0)

您可以使用此布尔函数来确定闰年:

public static boolean IsLeapYear(int year)
      {
         if ((year % 4) == 0)
         {
            if ((year % 100) == 0)
            {
               if ((year % 400) == 0)
                  return true;
               else
                  return false;
            }
            else
               return true;
         }
         return false;
      }

这遵循确定闰年的两条规则

第一条规则:可被4整除的年份是闰年。 第二条规则:如果年份可以被100整除,那么它不是闰年。但如果年份可以被400整除,那么这是闰年。