public class Test04 //判断1900到2010之间的闰年
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
System.out.print(Year(i) + ",");
}
} static int Year(int n) //判断闰年的函数
{
//int n;
if((n % 4 == 0) && (n % 100 != 0))
{
return n;
}
if(n % 400 == 0)
{
return n;
}
//return 0; //如果加上这句,编译可以通过,但结果不对;如果不加上这句编译不过
}
}
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
System.out.print(Year(i) + ",");
}
} static int Year(int n) //判断闰年的函数
{
//int n;
if((n % 4 == 0) && (n % 100 != 0))
{
return n;
}
if(n % 400 == 0)
{
return n;
}
//return 0; //如果加上这句,编译可以通过,但结果不对;如果不加上这句编译不过
}
}
for(int i= 1900;i<=2010;i++)
{
if(Year(i)!=0)
System.out.print(Year(i) + ",");
}
public class Test04 //判断1900到2010之间的闰年
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
int year = Year(i);
if(year==i)
System.out.print(year + ",");
}
} static int Year(int n) //判断闰年的函数
{
//int n;
if((n % 4 == 0) && (n % 100 != 0))
{
return n;
}
if(n % 400 == 0)
{
return n;
}
return 0;
}
}
public class Test04 //判断1900到2010之间的闰年
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
if(Year(i)){ //这里修改了,是返回值为boolean型,这样判断可以排除非为0年的数值
System.out.print(i+ ",");
}
}
} static boolean Year(int n) //这里我修改了返回类型
{
//int n;
if((n % 4 == 0) && (n % 100 != 0))
{
return true;
}
if(n % 400 == 0)
{
return true;
}
return false;
}
}
public class Test04 //判断1900到2010之间的闰年
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
if((i % 4 == 0) && (i % 100 != 0))
{
System.out.print(i + ",");
}
if(i % 400 == 0)
{
System.out.print(i + ",");
}
else continue;
}
}
}
{
//int n;
if((n % 4 == 0) && (n % 100 != 0))
{
return n;
}else if(n % 400 == 0)
{
return n;
}else{
return 0;
}
}
这样就行了
{
if((n % 4 == 0) && (n % 100 != 0))
return n;
else
return n % 400 ==0 ?n:0;
}
这样代码少点
输出的时候判断一下不是0在输出就行了
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
if(i%400==0||(i%4==0&&i%100!=0)){
System.out.print(i + ",");
}
}
}
}
这样写也行
为什么要连续判断呢?
for(int i = 1900; i < 2012; i++) {
if (i % 4 == 0){
System.out.println(i);
}
}
{
if((n % 4 == 0) && (n % 100 != 0))
{
return true;
}
return n%400==0; }
不加return 0;当不满足任何一个IF条件时不就不能返回了么?注意,程序执行到return语句时自动结束该方法的,不往后执行了。
{
public static void main(String[] args)
{
System.out.println("闰年有:");
for(int i= 1900;i<=2010;i++)
{
if(Year(i))
{
System.out.print(i + ",");
}
}
System.out.println();
} static boolean Year(int n) //判断闰年的函数
{
return (n%4==0&&n%100!=0)||n%400==0?true:false;
}
}
这样也少些
static int Year(int n) //判断闰年的函数
{
int num = null;
if(((n % 4 == 0) && (n % 100 != 0)))||(n % 400 == 0))
{
num = n;
}
return num; //如果加上这句,编译可以通过,但结果不对;如果不加上这句编译不过
}
}
润年的方法用十九楼的就成啊
或者用我这个,嘿嘿,你自己输入年份判断//判断是否为闰年
import java.util.*;
public class LeapYear
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner y=new Scanner(System.in);//通过键盘输入年份
System.out.printf("请输入年份:");
int yearIn=y.nextInt();
boolean leapIn=yearIn%400==0||yearIn%100!=0&&yearIn%4==0;//是闰年的条件
System.out.println(yearIn+" is leap year? "+leapIn);
/*int year=2012;
boolean leap=year%400==0||year%100!=0&&year%4==0;
System.out.println(year+"is leap year "+leap);*/
}
}