import java.io.*;
public class exam_13{
  public static void main(String[] args){
    InputStreamReader ir;
    BufferedReader in;
    ir=new InputStreamReader(System.in);
    in=new BufferedReader(ir);
    int year=1900;
    System.out.print("请输入年份:");
    try{
      String s=in.readLine();
      ;
    }catch(Exception e){
   }
   if()
     System.out.println(year+"是闰年");
   else
     System.out.println(year+"不是闰年");

解决方案 »

  1.   

    算闰年主要是为了判断2月份的天数,一般闰年2月份是29天,平年2月份是28天。计算闰年的算法非常简单,即:能被400整除,或者能被4整除而不能被100整除。
     在公历(格里历)纪年中,有闰日的年份叫闰年,一般年份365天,闰年为366天。由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 
                                    闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。                                 下面是一个计算公历闰年的例子: 
                                    s = InputBox("请输入年份:") 
                                    n = Val(s) 
                                    If n Mod 400 = 0 Or (n Mod 4 = 0 And n Mod 100 
                                    <> 0) Then 
                                    MsgBox s + "是闰年!" 
                                    End If 
                                    中国旧历农历纪年中,有闰月的一年称为闰年。一般年份为12个月,354或355天,闰年则为13个月,383或384天。农历作为阴阳历的一种,每月的天数依照月亏而定,一年的时间以12个月为基准;为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月,因此农历的闰年为13个月。                                 农历没有第十三月的称谓,闰月按照历法规则,排放在从二月到十月的过后重复同一个月,重复的这个月为闰月,如四月过后的闰月称为闰四月。                                 农历闰年闰月的推算,3年一闰,5年二闰,19年七闰;农历基本上19年为一周期对应于公历同一时间。如公历的2001年5月27日、1982年5月27日和1963年5月27日这个日子,都是闰四月初五。 
                                    公历1982年至2042年与农历闰年闰月对照表 
                                    公历所在月份 闰月(初一日) 干支年 
                                    1982年5月23日 闰四月小 壬戊年 
                                    1984年11月23日 闰十月大 甲子年 
                                    1987年7月26日 闰六月大 丁卯年 
                                    1990年6月23日 闰五月大 庚午年 
                                    1993年4月22日 闰三月大 癸酉年 
                                    1995年9月25日 闰八月大 乙亥年 
                                    1998年6月24日 闰五月小 戊寅年 
                                    2001年5月23日 闰四月大 辛巳年 
                                    2004年3月21日 闰二月大 甲申年 
                                    2006年8月24日 闰七月大 丙戊年 
                                    2009年6月23日 闰五月大 己丑年 
                                    2012年5月21日 闰四月小 壬辰年 
                                    2014年10月24日 闰九月小 甲午年 
                                    2017年7月23日 闰六月大 丁酉年 
                                    2020年5月23日 闰四月小 庚子年 
                                    2023年3月22日 闰二月大 癸卯年 
                                    2025年7月25日 闰六月大 己巳年 
                                    2028年6月23日 闰五月大 戊申年 
                                    2031年4月22日 闰三月大 辛亥年 
                                    2033年8月25日 闰七月大 癸丑年 
                                    2036年7月23日 闰六月小 丙辰年 
                                    2039年6月22日 闰五月大 己未年 
                                    2042年3月22日 闰二月大 壬戊年
      

  2.   


    if(new java.util.GregorianCalendar().isLeapYear(year))
         System.out.println(year+"是闰年");
    else
         System.out.println(year+"不是闰年");
      

  3.   

    if(new java.util.GregorianCalendar().isLeapYear(year))
         System.out.println(year+"是闰年");
    else
         System.out.println(year+"不是闰年");
      

  4.   

    private transient int gregorianCutoverYear = 1582; public boolean isLeapYear(int year) {
            return year >= gregorianCutoverYear ?
                ((year%4 == 0) && ((year%100 != 0) || (year%400 == 0))) : // Gregorian
                (year%4 == 0); // Julian
        }也就是说 1582年之前计算闰年的方法和 1582年以前的不一样。
      

  5.   

    闰年....平年有365日,比回归年少0.2432日,因此每四年便积累约1日,加到2月里.可见闰年并不是标准的4年一次.  在400年的时间里只有97个闰年.....一般我都这么做
    if((year%4==0 && year%100!=0) || year%400==0)
       System.out.println("leap year");
    else
       System.out.println("not a leap year");
      

  6.   

    现成的api,何必自己再写
    当然学习的话还是鼓励自己写
      

  7.   

    new java.util.GregorianCalendar().isLeapYear(year)
    //这个好
      

  8.   

    new java.util.GregorianCalendar().isLeapYear(year)API里有现成的呀,java.util
      

  9.   

    怎么搞得这么复杂呢,isleapyear()方法就完了,要不要API干什么