2016-11-21 145 views
0

我正在关注Prinston的过程Algorithms, Part I。由于我来自.NET并刚刚开始使用Java,所以我遇到了一段Java代码,我找不到任何相关信息。他们提供了与我可以用读取文本文件代码:In can not be resolved to a type

public static void main(String[] args) { 

    In in = new In(args[0]); 
    int n = in.readInt(); 
    ... 
} 

抛出异常:

在不能被解析为一个类型

这是什么In?我应该导入一些软件包,还是应该怎么做?

整个代码和说明,也可以在这里看到:http://coursera.cs.princeton.edu/algs4/assignments/collinear.html

+0

我的猜测是In应该是Int和new Int()。也就是说,类Integer与原始类型相反。 – Erik

+0

好问题。这是什么?在句法上它应该是一个类。但是JDK中没有这样的类,所以它应该是一个在您的项目中显然不可用的自定义类。 – AlexR

回答

4

你需要algs4,由普林斯顿来提供。当它在classpath中,添加

import edu.princeton.cs.algs4.In; 

如果这是唯一的类,你可以使用the source of In.java。 但是我怀疑Coursera是否允许这样做:当你提交代码时,它可能会在服务器上用类路径中的algs4.jar编译,所以你应该真的使用那个而不是你自己的代码。

+0

我已经安装了'algs4',并且我可以使用它们的命名空间,如'edu.princeton.cs.algs4.StdRandom','edu.princeton.cs.algs4.StdIn/Out',但不是问题中的类。让我检查文件.... –

+0

嗯,我不得不使用'import edu.princeton.cs.algs4.In;'。他们没有在任何地方提及它。谢谢!!! –

+0

@GiorgiNakeuri:感谢您的评论。我在回答中添加了导入语句。 –

0

In.java似乎是普林斯顿某人制作的类,可能是同一个课程:http://algs4.cs.princeton.edu/12oop/In.java

所以,是的,你需要导入正确的包,并且你需要在你的类路径中包含这个类的jar。搜索课程文档以获取更多提示。

相关问题