該程序看起來稍微先進;不是這樣。簡單的數組操作。 該程序編譯正確,但是,它遇到異常運行時。Nullpointer異常java運行時
Exception in thread "main" java.lang.NullPointerException
at Ordliste.leggTilOrd(Tekstanalyse.java:85)
at Tekstanalyse.main(Tekstanalyse.java:23)
所以if(s.equalsIgnoreCase(ordArray [k]))有問題。 我看不出爲什麼。它甚至提供了正確的輸出。
import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;
public class Tekstanalyse {
public static void main(String[] args) throws FileNotFoundException {
Ordliste ol = new Ordliste();
ol.lesBok("scarlet.text");
ol.leggTilOrd("A");
}
}
class Ordliste {
private int i = 0;
private String[] ordArray = new String[100000];
private int antForekomster;
private int arrStorrelse = 0;
public void lesBok(String filnavn) throws FileNotFoundException {
File minFil = new File(filnavn);
Scanner scan = new Scanner(minFil);
while (scan.hasNextLine()) {
ordArray[i] = scan.nextLine();
//System.out.println(ordArray[i]);
i++;
arrStorrelse++;
}
System.out.println("Array size: " + arrStorrelse + " Capacity: " + ordArray.length);
}
public void leggTilOrd(String s) {
for (int k = 0; k < ordArray.length; k++) {
if (s.equalsIgnoreCase(ordArray[k])) {
antForekomster++;
System.out.println("Den har vi sett for!");
} else {
s = ordArray[arrStorrelse];
}
}
}
}
您可以在自己的代碼中使用任何代碼格式/縮進,但在詢問其他人的幫助時,請花時間合理地設置代碼的格式。這次我爲你做了這個(並且從最後加了兩個缺失的'}' - 如果它們不在你的真實代碼中,使用「編輯」鏈接去除它們,但是當然你會有編譯錯誤)。 – 2014-10-12 11:39:16