我提前为这个问题和其他许多问题之间的相似性道歉,但在查看并尝试其他问题的解决方案之后,我还没有解决我的问题。以下是为princeton分配wordnet(在此处http://www.cs.princeton.edu/courses/archive/fall14/cos226/assignments/wordnet.html找到)测试SAP类提供的测试代码
public static void main(String[] args) {
In in = new In(args[0]);
Digraph G = new Digraph(in);
SAP sap = new SAP(G);
while (!StdIn.isEmpty()) {
int v = StdIn.readInt();
int w = StdIn.readInt();
int length = sap.length(v, w);
int ancestor = sap.ancestor(v, w);
StdOut.printf("length = %d, ancestor = %d\n", length, ancestor);
}
}
出于某种原因,当我尝试传递文本文件时,使用此测试代码会给我一个无限循环(可在此处找到示例txt文件:ftp://ftp.cs.princeton.edu/pub/cs226/wordnet/digraph1.txt)。
由于此代码是由分配页面提供给我的,因此我认为它是正确的。这让我有疑问,我的代码中的其他东西是否会导致无限循环?除了这个测试代码的while循环之外,我不确定要检查什么。
另外,我是否有些如何传递文本文件错误?我通过digraph1.txt采取的步骤是
运行 - >运行配置 对于SAP类
然后对于我放入$ {file_prompt}的参数,每次都选择digraph1.txt。
当我手动输入digraph1.txt时,我的所有方法都可以正常工作。
提前致谢!