java - 我试图将 txt 文件读入数组,但得到 OutOfBoundsException(0)

标签 java arrays indexoutofboundsexception filereader bluej

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 部分的重力数据是返回异常的内容。任何帮助将不胜感激。

最佳答案

您应该将数组初始化为与您希望读取的项目数量一样长,然后更改

for(int i = 0; i <= gravityData.length; i++)
...

for(int i = 0; i < gravityData.length; i++)
...

这是因为长度为 n 的数组的元素位于 0,1,...,n-1

如果你数一下它们,你就可以知道实际上有 n 个元素。

编辑,谢谢 Trengot

如果你不知道有多少条可以提前阅读,我建议你看看ArrayList ,这是一个通用的动态数组类型

关于java - 我试图将 txt 文件读入数组,但得到 OutOfBoundsException(0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28968999/

相关文章:

Java-如何通过 GUI 获取数字数组

c# - 如何在c#中将json转换为json对象?

java MD5加密减去字节数组中的值

java - MiniMaxSum 通过了第一个测试用例,但因值较大而失败 (hackerrank)

Java套接字: Write to client not working

java - 在android中获取json时控制空值

java - 使用多个自定义表格模型避免重复代码

java - JFace 仅调整 TitleAreaDialog 中最后一组的大小

java - JTable setValueAt 不工作

java - Sharedpreferences错误索引越界