如何将数组中的所有项目分成两倍?

Geo*_*e12 4 java

我是一个完全的初学者,我对数组有一点问题.该程序的要点是计算向量的归一化.第一部分只是将数组的长度计算为int,称为sum,然后我想用这个总和来划分数组v中的所有项.normal [] = v [a]/sum; 这条线显然是个问题,但我该怎么办?

public static double[] normalized(double[] v){

    double sum = 0;

    for(int counter = 0; counter < v.length; counter++){
        sum += Math.pow(v[counter], 2);
    }
        sum = Math.sqrt(sum);
        double[] normal;
    for(int a = 0; a < v.length; a++){      
        normal[] = v[a]/sum;
    }
return normal;
}
Run Code Online (Sandbox Code Playgroud)

tar*_*sh4 5

您需要做的就是像这样为普通数组指定一个索引,并确保初始化正常:

double[] normal = new double[v.length];
for(int a = 0; a < v.length; a++)
{
  normal[a] = v[a]/sum;
}
Run Code Online (Sandbox Code Playgroud)

假设你的总和是正确的.我相信这应该有效.

  • 这还不够自己的答案*因为"正常"目前尚未初始化.鉴于所有其他答案都解决了这个问题,我不确定为什么这个不完整的答案目前有最多的赞成...... (2认同)