Topic: 关于判断闰年的问题,为什么运行结果不一样呢

  Print this page

1.关于判断闰年的问题,为什么运行结果不一样呢 Copy to clipboard
Posted by: lfcjecboss
Posted on: 2005-10-28 15:09

请教各位大侠,我按书上的例子编的程序,关于if ---else语句的,三种方法判断一个年份是不是闰年,代码如下:

public class LeapYear{
public static void main(String args[])
{
int year=1989;
boolean leap;
if ((year%4==0&&year%100!=0)||(year%400==0))
System.out.println(year+"是 一 个 闰年!");
else
System.out.println(year+"不 是 一 个 闰 年!");

year=2000;

if(year%4!=0)
leap=false;
else if(year%100!=0)
leap=true;
else if (year%400!=0)

leap=false;
else
leap=true;
if(leap==true)
System.out.println(year+"是 一 个 闰年!");
else
System.out.println(year+"不 是 一 个 闰 年!");

year=96;
if(year%4==0)
{
  if(year%100==0)
  {
    if (year%400==0)
    leap=true;
    else
    leap=false;
  }else
    leap=false;
  }else
    leap=false;
    if(leap==true)
    System.out.println(year+"是 一 个 闰年!");
    else
    System.out.println(year+"不 是 一 个 闰 年!");
    
    
}
}

但是为什么运行时的结果不一样呢?比如 year=96 放在第一种方法中判断它是闰年,但放在第三种方法中却判断它不是闰年。

2.Re:关于判断闰年的问题,为什么运行结果不一样呢 [Re: lfcjecboss] Copy to clipboard
Posted by: liujing319
Posted on: 2005-10-28 21:18

year=96;
if(year%4==0)
{
if(year%100!=0)
leap=true;
else
leap=false;
}else
leap=false;
if(year%400==0)
leap=true;
else leap=false;
System.out.println(year+"是 一 个 闰年!");
else
System.out.println(year+"不 是 一 个 闰 年!");

if 层次错了,两层嵌套就可以了,

3.Re:关于判断闰年的问题,为什么运行结果不一样呢 [Re: lfcjecboss] Copy to clipboard
Posted by: liujing319
Posted on: 2005-10-28 21:40

不好意思,上面的错了,下面的是正确的;
int year=96;
    boolean leap=false;
    if(year%4==0)
    {
     if(year%100!=0)
       leap=true;
       else
     if (year%400==0)
     leap=true;
     else
     leap=false;
     }else
     leap=false;
    
     if(leap==true)
     System.out.println(year+"是 一 个 闰年!");
     else
     System.out.println(year+"不 是 一 个 闰 年!");

4.Re:关于判断闰年的问题,为什么运行结果不一样呢 [Re: lfcjecboss] Copy to clipboard
Posted by: liujing319
Posted on: 2005-10-28 21:41

不好意思,上面的错了,下面的是正确的;
int year=96;
    boolean leap=false;
    if(year%4==0)
    {
     if(year%100!=0)
       leap=true;
       else
     if (year%400==0)
     leap=true;
     else
     leap=false;
     }else
     leap=false;
    
     if(leap==true)
     System.out.println(year+"是 一 个 闰年!");
     else
     System.out.println(year+"不 是 一 个 闰 年!");

5.Re:关于判断闰年的问题,为什么运行结果不一样呢 [Re: lfcjecboss] Copy to clipboard
Posted by: lfcjecboss
Posted on: 2005-10-29 09:17

谢谢你!liujing319!现在我明白了!希望以后多交流!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923