首页 > 解决方案 > 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;
    }
}

}

标签: javamethodssyntax

解决方案


您的方法调用应该在您的main方法内部,而该方法isLeapYear应该在您的主要方法之外。year % == !100此外,您的子句中的表达式 ,在else if语法上不正确。相反,应该是year % 100 != 0,,我相信。最后,代码的最后一部分(标记为 的部分//return false if not in year range)应位于其下方的大括号之外。

public static void main(String[] args) {
    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 != 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;
}

推荐阅读