这是列表函数,您可以看到它在添加到矢量数据列表之前打印 newEntry 的内容。
public static Vector<entry> list()
{
entry newEntry = new entry();
Vector<entry> dataList = new Vector<entry>();
String[] splitLine;
String currentLine;
String formattedString = "";
BufferedReader in;
try
{
in = new BufferedReader(new FileReader(new File("data.txt")));
while ((currentLine = in.readLine()) != null) {
newEntry = new entry();
splitLine = currentLine.split(" ");
newEntry.record = Integer.parseInt(splitLine[0]);
newEntry.fName = splitLine[1];
newEntry.lName = splitLine[2];
newEntry.phoneNumber = splitLine[3];
dataList.add(newEntry);
}
}
catch (IOException ex)
{
System.out.println(ex);
}
for (int i = 0; i < dataList.size(); i++)
{
System.out.println(dataList.elementAt(i).record + dataList.elementAt(i).fName + dataList.elementAt(i).lName + dataList.elementAt(i).phoneNumber);
}
return dataList;
}
这是我遇到问题的部分,它将返回(上面)返回的任何 list() 并将其形成一个新向量并将被打印出来。但是,出于某种原因,它只打印最后一个值......
if ((params[0].toLowerCase()).equals("list"))
{
Vector<entry> printList = new Vector<entry>(list());
for (int i = 0; i < printList.size(); i++)
{
System.out.println(printList.elementAt(i).record + printList.elementAt(i).fName + printList.elementAt(i).lName + printList.elementAt(i).phoneNumber);
}
}
这是将 3(如下所示的前 3 个)添加到 list 函数中的 dataList 时得到的输出。
1000 约翰·卡特 1731371313
1001 亚伯·林肯 9173913143
1002 威廉·泰尔 794174141
1002 威廉·泰尔 794174141
1002 威廉·泰尔 794174141
1002 威廉·泰尔 794174141
有谁知道可能出了什么问题?