我用java编写一道求1945到2006的闰年的问题
(闰年就是能被4整除且不能被100整除 或 能被400整除的年份)
首先编写代码如下:
class leapyear{
public static void main(String args[]){
int year=1945;
while(year<=2006){
if((year%4==0 && year%100!=0 )||(year%400==0))
System.out.println(year+"是闰年");
year++;
}
运行正常,然后我用if-else-if改写如下:
class leap{
public static void main(String args[]){
int year=1945;
boolean x;
while(year<=2006){
if (year%4!=0)
x=false;
else if(year%100!=0)
x=true;
else if(year%400==0)
x=true;
else
x=false;
year++;
if(x=true)
System.out.println(year+"是闰年");
}
}
编译后运行,得到的结果却是1946-2006每一年都成了闰年……
请问错误出在哪里?
}
}
}