java在我的项目中使用源于jar文件的类
我在Windows764X机器上使用Eclipse。我研究过这个问题,发现很多人都有类似的问题,但我遇到的解决方案对我来说都不太管用
我正在处理一个名为Assignment_1
的项目,一个名为Percolation
的类。我想使用对象WeightedQuickUnionUF
,它位于jar文件中包含的包中,名为algs4.jar
我似乎已经将我感兴趣的Jar文件添加到构建路径中(它现在显示在“引用库”下)。jar文件algs4.jar
位于项目文件夹中名为lib
的文件夹中
但是,当我试图在类中声明类型为WeightedQuickUnionUF
的对象时,我得到一个错误“WeightedQuickUnionUF
无法解析为类型”
在类声明之前,我尝试了各种import
命令(仅包括import WeightedQuickUnionUF
),所有这些命令都会产生错误“导入so and so
无法解决”
例如,这段代码会产生这两种错误。一个位于import
行,另一个位于WeightedQuickUnionUF
对象的声明:
package assignment_1_package;
import algs4.WeightedQuickUnionUF;
public class Percolation {
private int[][] grid;
public int gridDimension;
private int opensGrid[][];
private WeightedQuickUnionUF model;
... //rest of class body here
这让我困惑了整整一天,我似乎无法理解这一点。谢谢你的努力
编辑:这里是我想要导入的类的链接:http://algs4.cs.princeton.edu/15uf/WeightedQuickUnionUF.java.html
# 1 楼答案
假设你说的是algs4。类http://algs4.cs.princeton.edu/code/的jar,您的导入不正确,您应该执行以下操作:
但是在默认包中包含类从来都不是一个好主意,实际上不允许从未命名包导入类型:这会导致编译错误。 http://docs.oracle.com/javase/specs/jls/se5.0/html/packages.html#7.4.2:
因此,在您的情况下,要解决您的问题,只需在默认包中创建类,这样您就不必进行导入
# 2 楼答案
就我而言,这有助于增加
# 3 楼答案
我在同一个班,有同样的问题。删除这两条语句的等效项
解决了这个问题。也就是说,下面的问题现在得到了正确的解决