2016-11-20 1 views
1

저는 사각형을 작성한 다음 배열을 합치기 위해 클래스 메소드를 작성하려고합니다. 그러나 여기서부터 어떻게 나아갈 수 있는지 전혀 모릅니다. 나는 또한 그것을 합친다면 또 다른 하나를 제곱 할 방법을 나누어야하는지, 아니면 실제로이 것을 합칠 수 있는지 모른다. 여기에 내가 지금까지 생각해 낸 것이 있습니다 ...별로는 아니지만.배열을 제곱하고 합하는 클래스를 만드시겠습니까?

public int sqSum(){ 
    for(int i=0; i<array.length; i++) 

     int sqSum = array[i] * array[i]; 

    return sqSum; 
} 
+0

문제에 대해 좀 더 생각해보십시오. 하나의 변수를 선언하고 무시하고 있습니다. 당신은 어떤 것을 합산/추가하지 않습니다. –

+0

[Array Sum Method]의 가능한 복제본 (http://stackoverflow.com/questions/35967397/array-sum-method) –

답변

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

내가 바로 당신이 가지고있는 경우 :

public int sqSum() { 
    int sqSum = 0; 
    for(int i=0; i<array.length; i++) 
     sqSum += array[i] * array[i]; 

    return sqSum; 
} 
0

당신은 int sqSum = Arrays.stream(array).map(i -> i * i).sum()처럼, 자바 8 스트림 API를 사용할 수 있습니다.

관련 문제