我试图制作一个程序,从文件中读取点(例如(2,4),(0,0))并尝试使用ArrayList,因为我不知道那里有多少点将会。但是,只有最后一个读取点似乎存储起来。我认为只有nInput []的指针被存储而不是实际值,因此任何后续的sc.next()似乎只会改变ArrayList中现有的nInput []。 Ex输入文件:
-1 2
0 1
0 0 <&lt;&lt;我会把它作为唯一的输出
OR
-1 2
0 4
9 9 <&lt;这将是唯一的输出
int nInput = new int[2];
ArrayList<int[]> aPoints = new ArrayList<int[]>();
while(sc.hasNext()){
nInput[0] = Integer.parseInt(sc.next());
nInput[1] = Integer.parseInt(sc.next());
aPoints.add(nInput);
}
for(int i<0; i<aPoints.size(); i++)
System.out.println(aPoints.get(i)[0]+" "+ aPoints.get(i)[1]);
如何将int []存储到ArrayList中?
答案 0 :(得分:0)
编辑:首先我给了伪代码,但我认为你需要Java代码:
(我假设sc是扫描仪对象)
ArrayList<int[]> list = new ArrayList<int[]>();
while(sc.hasNext) {
int[] array = new int[2];
array[0] = sc.nextInt();
array[1] = sc.nextInt();
list.add(array);
}