gpt4 book ai didi

java - 在我的程序中引用另一个 .java 文件中的类

转载 作者:行者123 更新时间:2023-11-29 05:55:57 25 4
gpt4 key购买 nike

我完全不熟悉 Java,无法引用我在另一个 .java 文件中声明的类。我在 Oracle 网站上阅读了很多关于它的内容以及许多 stackoverflow 问题,但无法解决问题。以下是我采取的步骤:

设置类路径。我在 UNIX 上运行它。所以我输入% java -classpath/users/myUserName/algs4/assignment1。它没有更改类路径,而是给了我一长串其他选项。

在我的每个 .java 文件中包含“包名称”,这些文件具有我要引用的类定义。

我还确保我要引用的所有文件都在同一目录中。这是我的一些代码:

package assignment1;
public class Percolation
{
private int[][] grid;
....
//Other method definitions etc.
public Percolation(int N)
{
uf = new WeightedQuickUnionUF(N);
grid = new int[N][N];
...
//Other code

}

}

我的 WeightedQuickUnionUF 类也定义为:

package assignment1;
public class WeightedQuickUnionUF {
private int[] id; // id[i] = parent of i
private int[] sz; // sz[i] = number of objects in subtree rooted at i
private int count; // number of components

//Create an empty union find data structure with N isolated sets.
public WeightedQuickUnionUF(int N) {
count = N;
id = new int[N];
sz = new int[N];
for (int i = 0; i < N; i++) {
id[i] = i;
sz[i] = 1;
}
}
}

但是现在当我使用 javac Percolation.java 进行编译时。它给了我错误:

Percolation.java:7: cannot find symbol
symbol : class WeightedQuickUnionUF
location: class assignment1.Percolation
WeightedQuickUnionUF uf;
^

我明白了,这是因为编译器不知道类 WeightedQuickUnionUF 是什么。它不能引用它。但是我该怎么做呢?我已经尝试过流行的解决方案。

我没有使用任何 IDE。只是一个文本编辑器,然后在终端上编译它。

(algs4文件夹有stdlib.jar等文件)

编辑:我错过了"new"关键字。我已经添加了。我也在 Percolation.java 之前编译我的 WeightedQuickUnionUF 类

最佳答案

java 命令没有设置类路径,而是试图运行 java 类。这就是长选项列表的原因。

您可以在编译时指定类路径:运行 javac -classpath 。 algs4 目录中的 assignment1/Percolation.java。注意点,它表示当前目录。

不需要按顺序编译文件。

要运行您的程序:java -cp。 assignment1.Percolation 来自 algs4 目录。

关于java - 在我的程序中引用另一个 .java 文件中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com