-3

所以对于基础编程课,我们必须编写一个程序来判断一年是否是闰年。我们没有使用扫描仪方法;相反,这一年将是一个争论。我们必须使用一个名为 isLaeapYear(int year) 的布尔值。这是我的代码

public class LeapYear{
  public static void main(String[ ] args){
    int year = readInt();
     boolean isLeapYear(int year) = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
    if (isLeapYear)
    {
      return true;
    }
    else {
      return false;
    }


  }
}

由于某种原因,它不会编译它说 a ; 预计在我的布尔行中的 isLeapYear 之后。有什么建议么?谢谢!

4

4 回答 4

3
boolean isLeapYear(int year) = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));

上面的行根本没有意义。你想让它成为一种方法吗?

如果是这样,它应该是:

private static boolean isLeapYear(int year) {
    return ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
}

你会这样称呼它:

boolean isLeapYear = isLeapYear(year); //note that the fact that both the boolean
                                       //variable and the method name are 
                                       //identical is coincidence; the variable
                                       //can be named whatever you want (as long
                                       //as it makes sense).

或者你可以这样做:

if(isLeapYear(year)) {
    ...
} else {
    ...
}

或者,如果您只想要一个boolean变量:

boolean isLeapYear = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
于 2013-09-05T21:58:38.393 回答
1

这是您的代码应该看起来的样子(未经测试):

public class LeapYear{
  //main method (always runs when you compile then run)
  public static void main(String[ ] args){
    //int year = readInt();
    int hardCodedYear = 4;
    System.out.prinln(isLeapYear(hardCodedYear));//method call and print results
  }

  //create method 
  public boolean isLeapYear(int year){
    //check if its leap year (not sure if this is correct)
    if (year %4 == 0) && (year % 100 !=0) || (year % 400 ==0){
      return true;
    }
    return false;
  }

}
于 2013-09-05T22:02:01.083 回答
0

看起来您在这里遇到了基本的语法错误。isLeapYear 要么是一个函数,要么是一个变量,而你正在混合这两者。你应该有类似的东西

boolean isLeapYear = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
于 2013-09-05T21:58:51.370 回答
0

我认为,代码应该是这样的 -

public class Leapyr
{
    boolean isLeapYear(int year)
    {
        if((year%4==0) && (year%100!=0) || (year%400==0))
        {
            return true;
        }
        else 
        {
            return false;
        }
    }
    public static void main (int y)
    {
        Leapyr yr=new Leapyr();
        boolean rslt;
        rslt=yr.isLeapYear(y);
        if(rslt==true)
        {
            System.out.println("Year is Leap Year");
        }
        else 
        {
            System.out.println("Year is not a Leap Year");
        }
    }
}

当您启动main()它时,它可以正常工作。我自己测试过。

于 2022-01-02T08:40:35.597 回答