我试图编写一个方格的方法,然后对一个数组求和,但我不知道如何从这里前进。我也不知道我是否应该将方法拆分为方形,然后另一个方法来对它进行求和,或者我是否可以实际将它们组合成这个方法。这是我到目前为止所提出的......虽然它并不多。
public int sqSum(){
for(int i=0; i<array.length; i++)
int sqSum = array[i] * array[i];
return sqSum;
}
答案 0 :(得分:1)
问题是你实际上是在没有求和的情况下一次又一次地声明相同的sqSum
变量。
所以在for
循环之外声明它,如下所示:
public int sqSum(){
int sqSum =0;//declare it outside loop and use the same
for(int i=0; i<array.length; i++)
sqSum = sqSum + array[i] * array[i]; //add each product to previous sqSum
return sqSum;
}
答案 1 :(得分:1)
如果我说对了你的话:
public int sqSum() {
int sqSum = 0;
for(int i=0; i<array.length; i++)
sqSum += array[i] * array[i];
return sqSum;
}
答案 2 :(得分:0)
您可以使用java 8 stream api,例如int sqSum = Arrays.stream(array).map(i -> i * i).sum()
。