将文本文件分配给数组

时间:2012-10-19 02:27:15

标签: arrays file input while-loop

我要做的是从文本值中获取值,然后将它们放入双精度数组中。这就是我所拥有的,但它没有实现我的目标并打印出我不想要的东西。我不能在这里使用数组列表,只是数组。

这是文本文件中的内容: 70.3 70.8 73.8 77.0 80.7 83.4 84.5 84.4 83.4 80.2 76.3 72.0

代码:

    Scanner temperatureFile = new Scanner(new File("KeyWestTemp.txt"));
    double [] temperature = new double[12];

    while(temperatureFile.hasNext())
    {
        temperature[index] = temperatureFile.nextDouble();
        index++;
    }

2 个答案:

答案 0 :(得分:1)

我认为这是问题,但我可能错了: - )

temperature[11] = temperatureFile.nextDouble(); // index?

详细说明,你应该有:

i = 0; // index 'runner'
while(temperatureFile.hasNext())
{
    temperature[i] = temperatureFile.nextDouble();
    i++;
}

但是,这不是通用的,你应该在声明数组大小之前估计大小。

答案 1 :(得分:0)

罗伊特有正确的想法。您只需要分配温度数组的最后一个元素。尝试:

for (int i = 0; temperatureFile.hasNext() && (i < 12); i++) {
    temperature[i] = temperatureFile.nextDouble();
}