2015-11-06 70 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