我要做的是从文本值中获取值,然后将它们放入双精度数组中。这就是我所拥有的,但它没有实现我的目标并打印出我不想要的东西。我不能在这里使用数组列表,只是数组。
这是文本文件中的内容: 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++;
}
答案 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();
}