//precondition x, y non-negative
class Main {
public int gcd(int x, int y){
if(x < y)
return gcd(y, x);
else if(y == 0)
return x;
else
return gcd(y, x % y);
}
public static void main(String[] args) {
//below line of code causes an error : cannot find symbol
gcd Object = new gcd();
}
}
我不知道如何正确调用公共(public)类。我已在评论下尝试过,但它导致找不到符号错误。
最佳答案
这里gcd不是一个类,它是一个方法,要调用一个方法,您可以使用正确的参数直接调用它们,就像在您的示例中一样,您所要做的就是从 main 调用 gcd
gcd(valueX,valueY);
要调用不在类内部的方法,您需要创建该类的对象,然后调用该函数,但在您的情况下,您是从同一个类调用它,因此不需要对象。另一件需要注意的事情是,您正在从静态方法(main)调用非静态方法(gcd),因此您需要将 gcd 声明为静态,如下所示
public static int gcd(int x, int y);
如果你喜欢在类中使用 gcd 那么你可以这样做
//GCD class
class GCD{
//class method
public int gcd_method(int x, int y){
if(x < y)
return gcd(y, x);
else if(y == 0)
return x;
else
return gcd(y, x % y);
}
}
从你的 main 方法中,你实例化了一个 GCD 类的对象来调用这样的方法
GCD gcd = new GCD();
gcd.gcd_method(valueX,valueY);
关于java - 如何正确调用公开课,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60107775/