java我的方法调用由于某种我不明白的原因无效

这可能是一个很大的菜鸟错误,但我不明白为什么我的 IDE 不喜欢我的方法调用。


   //main here:

      isLeapYear(-1600);

      isLeapYear(1600);

      isLeapYear(2017);

      isLeapYear(2000);

public static boolean isLeapYear(int year){

    if(year >= 1 && year <= 9999) {

        if (year % 400 == 0) {

            System.out.println("true");

            return true;

        } else if (year % 4 == 0 && year % == !100) {

            System.out.println("true");

            return true;

        } else {

            System.out.println("false");

            return false;

        }

        //return false if not in year range

        System.out.println("false");

        return false;

    }

}

}


哆啦的时光机
浏览 242回答 2
2回答

沧海一幻觉

您的方法调用应该在您的main方法内部,而该方法isLeapYear应该在您的主方法之外。此外,year % == !100您的else if子句中的表达式 ,在语法上是不正确的。它应该是year % 100 != 0,我相信。最后,代码的最后一部分(标记为 的部分//return false if not in year range)应该在其下方的大括号之外。public static void main(String[] args) {&nbsp; &nbsp; isLeapYear(-1600);&nbsp; &nbsp; isLeapYear(1600);&nbsp; &nbsp; isLeapYear(2017);&nbsp; &nbsp; isLeapYear(2000);}public static boolean isLeapYear(int year) {&nbsp; &nbsp; if (year >= 1 && year <= 9999) {&nbsp; &nbsp; &nbsp; &nbsp; if (year % 400 == 0) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("true");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;&nbsp; &nbsp; &nbsp; &nbsp; } else if (year % 4 == 0 && year % 100 != 100) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("true");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return true;&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("false");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return false;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; // return false if not in year range&nbsp; &nbsp; System.out.println("false");&nbsp; &nbsp; return false;}

冉冉说

% 运算符期望值在右边和 ! 对于布尔运算符和可比较运算符是可以接受的。更正以下语句: } else if (year % 4 == 0 && year % == !100) {还从主 if 条件中删除以下 2 条语句,并将主 if 条件放在一边System.out.println("false");return false;i.e:if(year >= 1 && year <= 9999) {&nbsp; &nbsp; -------}System.out.println("false");return false;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java