所以我必须编写一个程序,我正在读取包含在我目前工作目录中的文本文件中的坐标。我的问题是如何在读完文本文件之后创建一个Point对象数组来存储这些坐标?到目前为止,这是我的代码,用于读取文件和while循环..
try {
// create the file reader instance
FileReader fReader = new FileReader(fileName);
// create a scanner to scan through the file
Scanner scan = new Scanner (fReader);
// loop
while (scan.hasNext()) {
int i = 0;
int x = scan.nextInt();
int y = scan.nextInt();
array[i] = new Point(x,y);
i++;
}
// close the reader
fReader.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
答案 0 :(得分:2)
如果您不知道提前阅读了多少分,可以使用ArrayList
:
在while循环之前声明并初始化它:
ArrayList<Point> arraylist = new ArrayList<>();
在循环中使用arraylist.add(point);
为其添加一个点。
最后,如果你真的需要一个数组,你可以使用:
转换你的ArrayList Point[] foo = arraylist.toArray(new Point[arraylist.size()]);