首页 > 解决方案 > Java价值短缺中的减法

问题描述

我遇到了一个难题。我正在寻找如何解决这个问题的建议。我的数据集中有三个字段。我想进行减法。问题就是这样。

 Time(s)    a      x
  1         0.1    0.2
  2                0.4
  3                0.6
  4                0.7
  5         0.2    0.9

我需要对 (ax) 进行减法运算。但是减法的方法就像在时间 1sa的值是 0.1。该操作将是(0.1-0.2)第一次迭代。2nd iteration (0.1-0.4). 3rd iteration (0.1-0.6). 4th iteration (0.1-0.7)但在第二次迭代中它将是(0.2-0.9).

这是我的问题陈述。我想把这段代码写在Java. I don't need Java code. 我可以自己写下来。我需要建议如何采用这种方法?一种想法是creating array for each variable。但随后卡在循环中。循环是如何迭代的?很明显,数组 a 是静态的,直到它获得下一个值,该值在时间 5s 可用。

标签: javaarrays

解决方案


这将取决于您的输入文件有多大:

  1. 如果数据集适合内存,则将其作为 2 个单独的数组或作为一个具有和作为字段的Row对象数组加载。之后,它是一个简单的迭代,记住最后一行包含在丢失时使用它的内容。axaa

  2. 如果数据集很大,最好使用它来读取它,BufferedReader并且只记住最后遇到的ax。这将大大减少内存消耗,将是首选方法。


推荐阅读