如何在Eclipse中使用库进行算法第一部分Coursera课程

我已经开始了Coursera Algorythms课程 。 练习作业必须在Java上完成,他们建议使用DrJava作为IDE,但它真的很不方便。 所以我想使用Eclipse,但问题是我无法使用为本课程提供的2个库( algs4.jar和stdlib.jar )。 在完成本指南的步骤后,我能够将它们包含在我的项目中:

在此处输入图像描述

但是当我尝试在我的项目中使用他们的类时,Eclipse不允许这样做,我无法通过Ctrl + Space导入它们:

在此处输入图像描述

甚至当我尝试直接导入类如import stdlib.StdRandom; 它仍然无法正常工作。

我该怎么做才能使它正常工作?

为什么不使用这两个JAR– stdlib-package.jar和algs4-package.jar。

在代码页下面( http://algs4.cs.princeton.edu/code/

问:如果我使用命名包来构造我的代码,则编译器无法再访问stdlib.jar或algs4.jar中的库。 为什么不?

答:stdlib.jar和algs4.jar中的库位于“默认”包中。 在Java中,您无法从命名包访问默认包中的类。 如果需要将我们的库与命名包一起使用,则可以使用这些包版本:stdlib-package.jar和algs4-package.jar。

警告:如果您正在使用Princeton COS 226或Coursera,Algorithms,Part I或II,您必须使用我们库的默认包verison来进行评分。

显示我的测试成功: 显示我的测试成功

您无法访问API,因为作者已在默认包中定义它们,而Java无法识别这些API。 作者在他们的网站( http://algs4.cs.princeton.edu/code/ )上提到,如果您在命名包中使用这些,请配置您的构建路径以包含来自http://algs4.cs的两个jar 。 princeton.edu/code/stdlib-package.jar和http://algs4.cs.princeton.edu/code/algs4-package.jar 。

HTH!

要包含JAR,您只需右键单击左侧项目资源管理器面板中项目/对象树的顶部,执行“构建路径/配置构建路径”,单击“库”选项卡,然后“添加外部jar子”,将它们添加到那里。

在编辑源代码时以及在Eclipse之后构建它时,它们应该很高兴可用。

另请注意,假设您在键入时具有正确的类名,您应该能够将鼠标hover在代码中的类名称上,并且智能/自动完成function将建议您从哪里导入它。 您可以轻松地将导入添加到正确的库中。

请按照以下步骤操作

右键单击项目>属性。 它将打开以下窗口

在此处输入图像描述

从左侧选择“Java Build Path”。 现在从右侧选择“Libraries”选项卡

在此处输入图像描述

点击“添加外部jar子”

在此处输入图像描述

添加Jar文件。

现在你完成了

从他们的网站: http : //algs4.cs.princeton.edu/code/

Eclipse(手册)。 将stdlib.jar和algs4.jar下载到一个文件夹,并通过Project – >> Properties – > Java Build Path – > Libaries – > Add External JARs将每个jar>文件添加到classpath变量到项目的构建路径。

这可能是因为库中没有包结构,因此您无法从中导入类。 这可能对您有所帮助, 如何在Eclipse中使用引用库中的类 。

一种选择是由slok提供的github上有一个maven repo 。 这个坏的部分是添加的jar是使用默认包的那些,所以你不能使用包结构。

更新 :我已经将jar的包版本添加到repo并创建了一个现在已被接受的pull请求

请注意,我更改了标识符以匹配普林斯顿的原始包结构。

   edu.princeton.cs.introcs algs4-package 1.0   edu.princeton.cs.introcs stdlib-package 1.0     org.coursera.algs4 Algs4 coursera course custom repository https://raw.github.com/slok/algs4-mvn-repo/master