2015-11-06 68 views
0

我有下面的類BallotPaper,記錄在一個LinkedList一組票:爪哇 - NullPointerException異常掃描到LinkedList的從文本文件

import java.util.LinkedList; 

public class BallotPaper { 

    private LinkedList<String> votes; 

    public BallotPaper() { 

    } 

    public void addVote(String candidateName) { 
     votes.add(candidateName); 
    } 

    public LinkedList<String> getVotes() { 
     return votes; 
    } 

} 

我有一個包含投票列表的文本文件,它看起來如下所示:

John Jack James Fred 
John Jack James Fred 
Fred Jack John James 
Fred Jack John James 
Jack John James Fred 

在我的主類中,我有一個ArrayList的BallotPaper對象。文本文件中的每行包含四個名稱,每個名稱都需要添加到一個BallotPaper對象,然後存儲在ArrayList中。這裏是我的代碼讀取文本文件:

private ArrayList<BallotPaper> votes = new ArrayList<>(); 

public void readTextFile(String fileLocation) throws FileNotFoundException { 
    FileInputStream fileIn = new FileInputStream(fileLocation); 
    Scanner scanner = new Scanner(fileIn); 

    while(scanner.hasNextLine()) { 
     votes.add(new BallotPaper()); 
     for(int i=0; i<4; i++) { 
      String name = scanner.next().trim(); 
      if(!name.equals("")) { 
       votes.get(votes.size() - 1).addVote(name); 
      } 
     } 
    } 
} 

所以我的目標是ArrayList中含有5個元素,其中的每一個在各自的LinkedList 4項BallotPaper對象。我目前收到以下錯誤:

Exception in thread "main" java.lang.NullPointerException 
    at BallotPaper.addVote(BallotPaper.java:12) 
    at Model.readTextFile(AVSModel.java:50) 

回答

1

您還沒有將您的選票列表清零。改線

private LinkedList<String> votes; 

private LinkedList<String> votes = new LinkedList<String>(); 
+0

是我的錯,非常感謝! – user3371750