在我的代码中,我先调用方法
public static boolean divides(int num, int denom)
{
if (num%denom==0)
return true;
else return false;
}
后来我正在调用方法
public static boolean isLeapYear(int year)
我想在isLeapYear中调用divides。我是否必须重新定义分歧?现在我有
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;
}
}
我得到了已经定义了divides的错误,但是当我没有将整个公共静态等语句放在那里时,它会想到什么是分歧。
我也遇到了许多其他错误(例如我在嵌套后无法找到年份的类型),但这不是主要错误。
答案 0 :(得分: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.
}
答案 1 :(得分:1)
否,您不能在java中使用嵌套方法。你可以做的是从divide()
方法调用isLeapYear()
,并将相应的参数传递给它。
public static boolean isLeapYear(int year)
{
divides(1, 2);
return result;
}
答案 2 :(得分:1)
首先,您无法声明嵌套方法。
无论如何,您不需要再次声明除法。如果它被定义为static
,请尝试将其称为ContainingClass.divides(x,y);
那divide.class
是什么东西?
答案 3 :(得分: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语句中的代码只返回条件的结果,则可以通过直接返回条件来缩短代码