Java错误:找不到符号(acm)

Java错误:找不到符号(acm),java,compiler-errors,acm-java-libraries,Java,Compiler Errors,Acm Java Libraries,我正试图创建一个程序,分配10000个rational对象,而不保存任何一个 在变量中,使它们都成为垃圾。在那之后,我必须测量温度 垃圾收集前后的可用内存量,并使用差异 报告释放了多少字节。 到目前为止,我已经创建了两个.java文件。java和gc.java。 我创建了构造函数Rational,以便可以在gc.java文件的void run方法中“调用”它。 构造函数创建一个值为x/y的新rational对象 但是,我得到一个错误:Java错误:找不到符号 符号法gcd(数学abs(x)、数学

我正试图创建一个程序,分配10000个rational对象,而不保存任何一个 在变量中,使它们都成为垃圾。在那之后,我必须测量温度 垃圾收集前后的可用内存量,并使用差异 报告释放了多少字节。 到目前为止,我已经创建了两个.java文件。java和gc.java。 我创建了构造函数Rational,以便可以在gc.java文件的void run方法中“调用”它。 构造函数创建一个值为x/y的新rational对象

但是,我得到一个错误:Java错误:找不到符号

符号法gcd(数学abs(x)、数学abs(y))

位置类有理数

1错误

以下是我的两个JAVA文件:

RATIONAL.java

import acm.program.*;

public class Rational {

    public Rational(int x,int y) {

        int g = gcd(Math.abs(x),Math.abs(y));
        int num;
        int den;
        num = x/g;
        den = Math.abs(y)/g;
        if (y<0) {
            num = -num;
        }
    }
}
import acm.program.*;


public  class gc extends ConsoleProgram {

    public void run() {

        println("Allocating 10000 objects");

        for(int i = 0;i<10000;i++) {
            new Rational(i+1,i+2);
        }

        Runtime myTime = Runtime.getRuntime();
        long a = myTime.freeMemory();
        println(a);
        myTime.gc();
        long b = myTime.freeMemory();
        println(b);
        println((a-b));
    }
}
导入acm.program.*;
公共阶级理性{
公共有理数(整数x,整数y){
INTG=gcd(数学abs(x),数学abs(y));
int-num;
int den;
num=x/g;
den=数学绝对值(y)/g;

如果(y是的,因为你没有任何名为
gcd
!也许你应该写一个?

我怎样才能创建gcd?它是必要的?还是更简单的方法?@HpdsbuΖt你应该问你的导师。这些是你应该在课堂上介绍的基本知识。你需要编写方法
public int gcd(int x,int y)
。因为它不存在,Java抛出了那个编译器错误。明白了。你能给我一个提示,在gcd方法中加入什么吗?@HpdsbuΖt我会尝试二进制方法。所以成为
cc
(众编译器)对不起,我不理解你@OlegMikheev