gpt4 book ai didi

java - 平均一个方法的多个结果?

转载 作者:行者123 更新时间:2023-12-01 12:26:42 24 4
gpt4 key购买 nike

所以,我有一个方法可以循环并自动返回这些数字:

6527.6    6755.6    7009.9    7384.7    7775.9    8170.7    8382.6    8598.8    8867.6    9208.2    9531.8    9821.7   10041.6   10007.2    9847.0   10036.3   10263.5   10449.7   10699.7

我想对第一个数字到第二个数字、第二个数字到第三个数字进行平均,依此类推。我应该采取什么方法来做到这一点?将所有这些 double 添加到数组中?或者有没有办法获得运行总数来做到这一点?

我遇到的问题是,我似乎只能获得所有或没有这些 double ,而不是特定的 double 。

因此输出将是 (6527.6+6755.6)/2、(6755.6+7009.9)/2 等结果。只是打印它们,没有别的。

编辑:来自解析器的代码:http://pastebin.com/V6yvntcP

最佳答案

您所描述的被称为移动平均线。一些正式的解释在这里:

http://en.wikipedia.org/wiki/Moving_average

[...]简单移动平均线 (SMA) 是前 n 个数据的未加权平均值 [...]

您想要计算 n = 2 的移动平均值。

下面是执行此操作的简单代码:

public static void main(String[] args) {
List<Double> list = Arrays.asList(6527.6, 6755.6, 7009.9, 7384.7, 7775.9, 8170.7);

for (int i = 1; i < list.size(); i++) {
double avg = (list.get(i) + list.get(i - 1)) / 2;
System.out.println("avg(" + (i - 1) + "," + i + ") = " + avg);
}
}

第二种方法没有列表或数组:

Double prev = null;

// inside loop:

double curr = getMethodResult(...);

if (prev != null) {
double avg = (curr + prev) / 2;
}

prev = curr;

// end of loop

关于java - 平均一个方法的多个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com