Java - NullPointerException 从文本文件扫描到 LinkedList
Java - NullPointerException scanning into LinkedList from Text File
我有以下 class 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
在我的主 class 中,我有一个 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)
您还没有初始化您的投票列表。换行
private LinkedList<String> votes;
到
private LinkedList<String> votes = new LinkedList<String>();
我有以下 class 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
在我的主 class 中,我有一个 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)
您还没有初始化您的投票列表。换行
private LinkedList<String> votes;
到
private LinkedList<String> votes = new LinkedList<String>();