我试图使用http://algs4.cs.princeton.edu/code/的jar文件。我已经下载了jar文件,把它放在CLASSPATH中但是每次我尝试在命令行中运行我的程序时,我都会得到消息"包不存在"。
jar文件是algs4.jar
在网站上它说"截至2015年8月17日,"默认包" algs4.jar的版本已替换为"命名包"版。要访问algs4.jar中的类,您需要使用如下所示的import语句:
import edu.princeton.cs.algs4.MinPQ;
import edu.princeton.cs.algs4.StdIn;
" 我认为这是主要问题,因为我不太了解他们在谈论什么(这是我第一次使用jar文件)
代码(二进制搜索):
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.In;
import java.util.Arrays;
public class BinarySearch
{
public static int rank(int key, int[] a)
{ // Array must be sorted.
int lo = 0;
int hi = a.length - 1;
while (lo <= hi)
{ // Key is in a[lo..hi] or not present.
int mid = lo + (hi - lo) / 2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
public static void main(String[] args)
{
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
while (!StdIn.isEmpty())
{ // Read key, print if not in whitelist.
int key = StdIn.readInt();
if (rank(key, whitelist) < 0)
StdOut.println(key);
}
}
}
编辑: 我使用的命令:Javac -cp .; edu.princeton.cs.algs4.jar BinarySearch.java
jar文件是algs4.jar而不是edu.princeton.cs.algs4.jar
答案 0 :(得分:0)
将jar文件放在项目的文件夹中,如果您正在使用Eclipse,那么在Package explorer中找到jar文件,右键单击&gt;构建路径&gt;添加到构建路径。之后,您将能够像任何其他eclipse项目一样使用import语句并正常编译。但是从终端/命令行编译有点棘手。
在这种情况下,编译它的最佳方法是在eclipse中生成一个ANT构建文件。您可以谷歌生成ANT构建文件以及如何使用ANT进行编译。