java-Leap Year中的基本编程

时间:2013-09-05 21:55:14

标签: java

因此,对于基础编程课程,我们必须制作一个程序,告诉一年是否是闰年。我们没有使用扫描仪方法;相反,这一年将是一个争论。我们必须使用一个名为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之后是预期的。有什么建议?谢谢!

3 个答案:

答案 0 :(得分: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));

答案 1 :(得分: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;
  }

}

答案 2 :(得分:0)

看起来你在这里遇到了一个基本的语法错误。要么是LeapYear要么是一个函数,要么是一个变量,你要混合两者。你应该有像

这样的东西
boolean isLeapYear = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));