我正在尝试从文件中读取一些数字(双精度)并使用以下代码将它们存储到ArrayList和数组中(是的,我需要两者):
try {
Scanner scan = new Scanner(file).useDelimiter("\\s*\\n");
while(scan.hasNextDouble())
{
tmp.add(scan.nextDouble());
}
Double[][] tmp2 = new Double[tmp.size()/2][2];
int tmp3 = 0;
for(int i = 0; i < tmp.size()/2; i++)
{
for(int j = 0; j < 2; j++)
{
tmp2[i][j] = tmp.get(tmp3);
tmp3++;
}
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
我将要读取的文件是:
0.0 0.0
0.023 0.023
0.05 0.05
0.2 0.2
0.5 0.5
0.8 0.8
0.950 0.950
0.977 0.977
1.0 1.0
但是我的代码不起作用,hasNextDouble()函数没有找到任何东西,我做错了什么?
编辑:好的,所以我对源代码进行了一些编辑(从Object[][]更改为Double[][]),并在将值插入ArrayList后将其插入数组中,但它仍然不起作用——'while'循环没有执行一次。
tmp
变量时出了问题。在你的代码开始之前,它的类型是什么,里面有什么? - Carl Smotricz