-6

在我的代码的前面,我调用了该方法

public static boolean divides(int num, int denom)
{
    if (num%denom==0)
       return true;
    else return false; 
}

稍后我调用该方法

public static boolean isLeapYear(int year)

我想在 isLeapYear 中调用分歧。我必须重新定义分歧吗?现在我有

public static boolean isLeapYear(int year)
{
public static boolean divides(int num, int denom)
{
   if (divides.class == true && (year%400 ==0) || ((year%4==0) 
       && (year%100 !=0)));
       return true;
       else return false;
}

}

而且我得到了已经定义了划分的错误,但是当我没有将整个公共静态等声明放在那里时,它想知道划分是什么。

我还遇到了许多其他错误(例如在嵌套划分后无法找到年份的类型),但这不是主要错误。

4

4 回答 4

5

您不能嵌套方法声明。但是,您可以简单地分别定义它们并相互调用。这就是函数的目的。

public static boolean divides(int num, int denom)
{
    if (num%denom==0)
       return true;
    else return false; 
}

public static boolean isLeapYear(int year)
{
    return divided(x, y);  // not sure what you are trying to divide, but fill in x and y.
}
于 2013-05-10T13:36:12.093 回答
1

,您不能在 java 中使用嵌套方法。您可以做的是divide()从您的isLeapYear()方法中调用,并将相应的参数传递给它。

public static boolean isLeapYear(int year)
{
divides(1, 2);
return result;
}
于 2013-05-10T13:33:29.070 回答
1

首先,您不能声明嵌套方法。

无论如何,您不需要再次声明划分。如果它被定义为static尝试调用它ContainingClass.divides(x,y);

那是什么divide.class

于 2013-05-10T13:36:54.350 回答
1

我想你只是想调用你的方法......

public static boolean divides(int num, int denom)
{
    return (num % denom == 0); 
}

public static boolean isLeapYear(int year)
{
   return (divides(year, 4) && (!divides(year, 100) || divides(year, 400));
}

如果 if-else-statements 中的代码只是返回条件的结果,则可以通过直接返回条件来缩短代码

于 2013-05-10T13:41:21.280 回答