for (int i = 0; i < LINES_PER_PAGE; i++) {
nextLine[i] = null;
}
这完全没有必要,因为Java中任何对象的默认值都为null.
在两个循环的其余部分中,您将调用两个不同的方法,而第二个循环也取决于参数,因此,我不确定它们是否可以合并为一个循环.
似乎nextLine是在方法之外声明的,我建议您使用List< Sometype>.并在每次输入方法时将来自expandTabs(temp.nextLine());的元素添加到其中,清除列表list.clear().
试试这个代码.使用适当的类型来声明List< String>.您可以使用myList.get(index)方法从列表访问元素.
List myList = new ArrayList<>();
private void method(int page) {
try {
myList.clear(); // Clear the list.
Scanner temp = new Scanner(fileToPrint);
for (int i = 0; i < page - 1; i++) {
skipAPage(temp);
}
for (int i = 0; (i < LINES_PER_PAGE) && (temp.hasNext()); i++) {
myList.add(expandTabs(temp.nextLine())); // Add the elements to the list.
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}