2013-04-14 66 views
-4

我在這段代碼中有一個例外,我無法找出問題所在。 此代碼運行沒有while循環,但WHILE循環它給例外文件讀取異常

ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47) 
+0

我不知道什麼是錯誤的是**不** **在這裏接受的問題的形式... –

回答

1

NullPointerException在這條線被拋出:

at ProbabilityQueryTutorial.main(ProbabilityQueryTutorial.java:47) 

我不知道哪一行是,正是(也許你可以指出?)。但我注意到一些其他的東西,可能會進入你的方式:

變量名

您的變量名稱以大寫字母。這通常是令人沮喪的,因爲只有class名稱應該有大寫字母。例如:

String File="C:\\testing.txt"; 
BufferedReader br = new BufferedReader(new FileReader(File)); 

File是一個文件對象的Java類,但你使用它作爲一個字符串。

的readLine()

sCurrentLine = br.readLine(); 
while ((sCurrentLine = br.readLine()) !=null) 

在while條件你的br.readLine()返回值已賦給變量sCurrentLine。但是你也可以在進入while循環之前做同樣的。意思是,如果你想要跳過文件的第一行,沒關係。但是如果你需要第一行,你應該在while循環前刪除這個賦值,並保持原樣。

空實例

當你不需要while外循環變量(例如變量String sCurrentLine),那麼就沒有必要爲你之前聲明它while循環並創建實例與null。只需在一段時間內移動它,並在第一次需要時聲明它。 (這樣你可以避免在變量中放置null)。

現在,如果您仍然有錯誤,也許我們可以進一步縮小搜索範圍。只要告訴我們在哪一行發生異常。

+0

謝謝你回答:)錯誤是在像 bn.getEvidenceController()。setObservations(evidence) ; oky我正在改變變量的名字 – ssbb