public static double [] loadGravityData( ) throws IOException
{
File fileName = new File("gravity1.txt");
Scanner inFile = new Scanner(fileName);
double [] gravityData = {};
while(inFile.hasNext())
{
for(int i = 0; i <= gravityData.length; i++)
{
gravityData[i] = inFile.nextDouble();
}
}
inFile.close();
return gravityData;
}
i部分的gravityData是返回异常的内容。任何帮助将不胜感激。
答案 0 :(得分:1)
您应该将数组初始化为您希望阅读的项目数量,并更改
for(int i = 0; i <= gravityData.length; i++)
...
到
for(int i = 0; i < gravityData.length; i++)
...
这是因为长度 n 的数组中的元素位于 0,1,...,n-1 。
如果算上它们就可以说实际上有n个元素。
修改,感谢Trengot
如果您不知道预先阅读了多少项,我建议您查看ArrayList,这是一种通用的动态数组类型
答案 1 :(得分:0)
你在哪里分配数组? 在Java中,数组具有固定长度,并且不会自动扩展。在您的情况下,您应该使用ArrayList。
此外,您应该将&lt; =更改为&lt;