gpt4 book ai didi

java - 避免数组覆盖

转载 作者:行者123 更新时间:2023-12-02 06:55:56 25 4
gpt4 key购买 nike

我的 Main 方法中有这段代码:

for(int i = 0; i < 2; i++){
double psd = JMath.sqrt((((4*cc)/(JMath.pow((1 + 6*frequency[i]*cc), (double) 5/3)))*df));
double cohC = H*JMath.sqrt((frequency[i]/A.averageHubWindSpeed)*(frequency[i]/A.averageHubWindSpeed) + (.12/Lc)*(.12/Lc));
BLAS.getInstance().sscal(packDistance.length, (float) cohC,packDistance, 1);
}

这样 packDistance 就会被覆盖,因此对于 i == 1sscal 会将 cohCpackDistance 源于 i == 0 处的 sscal。相反,我希望 packDistance 保留相同的原始值,这些值是在循环外部分配的。

我怎样才能克服这个问题?

最佳答案

你可以使用java的Arrays.copyOf()方法如下:

T[] arr2 = Arrays.copyOf(packDistance,packDistance.length);
for(int i = 0; i < 2; i++){
double psd = JMath.sqrt((((4*cc)/(JMath.pow((1 + 6*frequency[i]*cc), (double) 5/3)))*df));
double cohC = H*JMath.sqrt((frequency[i]/A.averageHubWindSpeed)*(frequency[i]/A.averageHubWindSpeed) + (.12/Lc)*(.12/Lc));
BLAS.getInstance().sscal(packDistance.length, (float) cohC,packDistance, 1);
}

其中 T 是您尝试复制的数组的数据类型。这是一个example Arrays.copyOf() 的使用。

关于java - 避免数组覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362129/

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