无法使用同一包的另一个文件中定义的静态方法

时间:2012-05-01 09:50:52

标签: java

运行Test.java会引发错误运行: 线程“main”中的异常java.lang.RuntimeException:无法编译的源代码 - 错误的树类型:     在algorithms.Test.main(Test.java:9)

两个文件都存在于同一目录“算法”中,并且在每个文件的开头也提到了package algorithms

运行测试的main()有什么问题?

Gcd.java文件

package algorithms;

public class Gcd {

public static int ComputeGcd(int number1, int number2){
    if(number2 == 0){ return number1;}
    else{
         int remainder = number1 % number2;
         return ComputeGcd(number2,remainder);
    }
}


public static void main(String[] args) {

    int a = 32;
    int b = 12;
    System.out.println(ComputeGcd(a,b));

} 
}

Test.java文件

package algorithms;

public class Test {
  public static void main(String[] args) {

    int a = 32;
    int b = 12;
   System.out.println(ComputeGcd(a,b));

}
}

2 个答案:

答案 0 :(得分:5)

尝试使用:

System.out.println(Gcd.ComputeGcd(a,b));

而不是:

System.out.println(ComputeGcd(a,b));

答案 1 :(得分:1)

您需要指定类:

System.out.println(GCD.ComputeGcd(a,b));