gpt4 book ai didi

Java:从 ArrayList 引用数组作为方法输入

转载 作者:行者123 更新时间:2023-11-30 09:03:03 25 4
gpt4 key购买 nike

我在使用下面的 Java 时遇到问题。 data_array 是数组的 ArrayList。我正在尝试使用“for”循环访问 ArrayList 中的所有数组,但由于某种原因我无法在 ArrayList 上执行 .get 。任何帮助将非常感激!谢谢!

public static double calc_SMA (Collection<Double> data_array, int bar_avg, int array_position){

//Create array to select which array in the ArrayList to pull from
double [] holding = new double [4];

//variable to hold the sum of the bars
double sum = 0.0;

//Create loop to pull data via...put into avg_calc
for (int i = 0; i < bar_avg; i++) {

//Cycle through arrays within the data_array ArrayList starting from first row to bar_avg - 1
holding = data_array.get(i);

//Add value to the previous value with 'sum'
//array_position is the place (0-3) that we are calculating avg of
sum = sum + holding[array_position];

//clear holding array
holding = null;
}

double average = sum/bar_avg;
return average;
}

最佳答案

关于为什么它不能编译,有几个问题(至少)。

第一个在那里is no Collection.get method .而不是服用 Collection<Double> , 取 a List<Double> 相反(ArrayList 符合 List)。

解决后,下一个问题是 List<Double>.get(int) => Double ,但是holdingdouble[]所以赋值无效。


循环i in [0, avg_bar)也是可疑的但使用 data_array.get(i) ;这是无效索引的配方。虽然这可以通过删除 get(i) 来解决并循环迭代器..

无论如何,我怀疑一个大问题是计算 SMA 的算法不正确。 .考虑删除 holding[] array 变量并在计算总和时直接使用每个 data_array 值(P_n、P_n-1 等)。

关于Java:从 ArrayList 引用数组作为方法输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798003/

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