如何从csv返回特定数据?

时间:2017-05-07 12:05:20

标签: java file csv read-write

我根据练习题编写了代码但是没有返回正确的数字。感觉好像我做的一切都好。

Incorrect on input: [data/FB_2016.csv, 2016-02-12]
Expected output : 3.6903954403536E9
Your output     : 3.8674439998248E9

这是输出:

.cabal

正如你所看到它返回一个非常相似的数字。

1 个答案:

答案 0 :(得分:1)

您的代码中有几处错误。

1)您需要totalAmount而不是单个价格和数量。

2)在你的if()中错过{}(volume = Double.parseDouble(dataArray[2]);总是被执行)

结果,您返回[给定日期的最后价格] * [文件中的最后一卷]。我认为,它与你期望的有点不同。

3)所以,你的代码应该是这样的:

double totalAmount = 0.0;

...

if(dataArray[0].equals(date)) {
  totalAmount += Double.parseDouble(dataArray[1]) * Double.parseDouble(dataArray[2]);
}

...

return totalAmount;

在这种情况下,totalAmount是给定日期所有记录的价格*总和。