2016-11-21 144 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。搜索課程文檔以獲取更多提示。

相關問題