0

我刚开始使用Java。我正在使用 NetBeans,在我的 .pkg1 文件中我有两个 .java 文件。顺便说一句,我正在学习 Coursera 算法课程,所以我的代码引用了以下内容:

CourseraAlgorithmsWeek1.java

package coursera.algorithms.week.pkg1;

public class CourseraAlgorithmsWeek1 {
    public static void main(String[] args) {
        QuickFindUF mystuff(10); // DOES NOT WORK!
    }  
}

QuickFindUF.java

public class QuickFindUF {
    private int[] id;

    public QuickFindUF(int N){
        id = new int[N];
        for(int i =0; i< N; i++){
            id[i] = i;
        }
    }
}

我的问题是我的 main 函数的第一行无法识别 QuickFindUF 对象的创建。我读到我需要将第二个文件编译成 .class 文件,然后编译成 .jar 文件。我怎么能用netbeans做到这一点?

我还阅读了一些有关 Classpath 的信息。我只能将 .jar 文件添加到类路径吗?

4

4 回答 4

7

改变

QuickFindUF mystuff(10);

QuickFindUF mystuff = new QuickFindUF(10);
于 2012-08-14T16:42:23.903 回答
1

您也可以将目录添加到类路径中。你可以做类似的事情

export CLASSPATH = "."

这将包括您当前所在的目录。这应该允许您在该目录中编译和执行代码。

如果类路径设置正确,您可以通过在页面顶部添加以下声明将 QuickFindUF 类移动到 coursera.algorithms.week.pkg1 包中:

package coursera.algorithms.week.pkg1;

或者,您可以使用声明导入类:

import coursera.algorithms.week.pkg1.CourseraAlgorithmsWeek1;
于 2012-08-14T16:44:39.957 回答
1

通过添加移动QuickFindUF.java到主类的同一个包

package coursera.algorithms.week.pkg1;

在类定义之前。

于 2012-08-14T16:42:05.470 回答
0

1.使用Composition

QuickFindUF  q = new QuickFindUF();
q.mystuff(10);
于 2012-08-14T16:50:39.147 回答