日期:2014-05-20 浏览次数:20824 次
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 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; } }
------解决方案--------------------
因为假设如果程序的两个if语句都不执行的话,那就没有返回值了,所以必须要有返回值。虽然你的两个if语句已经肯定会被执行一个,但是程序并不知道这点。你可以用if else 语句,这样保证每个子部分都会被执行,从而你的最后一个return不会有了
------解决方案--------------------
返回什么int数值都可以,这是因为这个方法要有一个返回值,所以你的程序不管走那条路,只要都能给个返回值为int的值,就能编译成功。不算什么大问题吧,多理解理解就行了。
------解决方案--------------------
package March02;
//这是我根据你的程序修改了下,你自己看看,理解
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;
? }
}
------解决方案--------------------
static int Year(int n) //判断闰年的函数
? {
? //int n;
? if((n % 4 == 0) && (n % 100 != 0))
? {
? return n;
? }else if(n % 400 == 0)
? {
? return n;
? }else{
return 0;
}
? ?
? }
这样就行了
------解决方案--------------------
if(){ }else if(){ }else{ }
------解决方案--------------------
//return 0; //如果加上这句,编译可以通过,但结果不对;如果不加上这句编译不过?
LZ的YEAR方法都是INT类型的当然要返回值咯
润年的方法用十九楼的就成啊
或者用我这个,嘿嘿,你自己输入年份判断
//判断是否为闰年
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;