-1
目標是獲得一個getWord方法,該方法一次使用String Tokenizer爲每行返回一個單詞。我能夠在某種程度上工作,但當我嘗試創建鏈接列表時,我一直在收到NullPointer異常。我是一個新手,我的學校使用BasicIO程序,其中包含一個名爲ASCIIDataFile的文本閱讀器,我使用readLine方法,將每行轉換爲一個String。此外,節點類需要在以後的問題一個LINENUM,現在我也只是把0在java中創建txt中單詞的鏈表,獲得NullPointerException
public class Assign2 {
Node wordlist;
ASCIIDataFile in = new ASCIIDataFile("JavaReservedWords.txt");
StringTokenizer st = new StringTokenizer(in.readLine()," ");
public Assign2(){
createList();
//printList();
}
private String getWord(){
int count = 1;
if (st.hasMoreTokens()){ //Exception @ 27
return st.nextToken();
}
else{
String s = in.readLine();
count++;
st = new StringTokenizer(s," ");
return st.nextToken();
}
}
private void printList(){
Node ptr = wordlist;
while(ptr.next!=null){ ptr=ptr.next;
System.out.println(ptr.item);
}
}
private void createList(){
while (!in.isEOF()){
String word = getWord();
add(word);
}
}
private void add(String word){
if(wordlist ==null){
wordlist = new Node(word,0,null);
return;
}
Node p = wordlist;
Node q = null;
while (p!=null && word.compareTo(p.item)>=0){
q=p;
p=p.next;
}
if(q==null){
wordlist = new Node(word,0,p);
}
else{
q.next = new Node(word,0,p);
}
}
這裏是個例外:
Exception in thread "main" java.lang.NullPointerException
at assign2.Assign2.getWord(Assign2.java:27
at assign2.Assign2.createList(Assign2.java:51)
at assign2.Assign2.<init>(Assign2.java:18)
at assign2.Assign2.main(Assign2.java:76)
而且specifi
發佈整個異常,包括調用堆棧。 –
顯然'in'是'null'。這個文本文件與你的類(jar)文件在同一個目錄中嗎? –
提示:getWord的哪一行是源文件中的第27行?那裏的指針是什麼?它從哪裏來的,它怎麼可能是空的? – keshlam