【问题标题】:Java - NullPointerException scanning into LinkedList from Text File [duplicate]Java - NullPointerException 从文本文件扫描到 LinkedList [重复]
【发布时间】:2015-11-06 10:57:41
【问题描述】:

我有以下类 BallotPaper,它在 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

在我的主课中,我有一个 BallotPaper 对象的 ArrayList。文本文件中的每一行包含四个名称,每个名称都需要添加到单个 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 个元素,每个元素都是 BallotPaper 对象,在它们各自的 LinkedList 中有 4 个条目。我目前收到以下错误:

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

【问题讨论】:

    标签: java arraylist nullpointerexception fileinputstream


    【解决方案1】:

    您尚未初始化您的投票列表。换行

     private LinkedList<String> votes;
    

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

    【讨论】:

    • 我多么愚蠢,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多