2017-04-18 1 views
-4

여기에 새 프로그래머가 있는데이 코드 샘플에서 약간 혼란 스럽습니다. 기본적으로 arrayA를 가져 와서 내 메서드로 전달할 것이므로 내 메서드를 사용하여 각 인접 숫자를 가져 와서 곱하면됩니다. 따라서 내 합계가 962로 나오고 main 및 sopln으로 다시 반환해야합니다.배열 곱

public class 8a 
    { 
     public static void main(String [] args) 
     { 
      int [] arrayA = {10,5,100,3,6,2,30,20}; 
      int result = sumOfProducts(arrayA);   
     } 

     public static int sumOfProducts(int [] a) 
     { 
      int counter = 1; 

      for(int x = 0; x < a.length; x++) 
     } 

    } 
+0

for 루프에는 본문이 없으므로 아무 것도 수행하지 않습니다. 설명하고있는 수학을 수행하는 코드를 추가해야합니다. – azurefrog

답변

-1

다음은 솔루션

public class 8a 
    { 
     public static void main(String [] args) 
     { 
      int [] arrayA = {10,5,100,3,6,2,30,20}; 
      int result = sumOfProducts(arrayA);   
     } 

     public static int sumOfProducts(int [] a) 
     { 
      int sum= 0; 

      for(int x = 0; x < a.length; x++) 
      sum+=a[x]; 

      return sum; 
     } 

    } 
+0

_ "그러므로 내 총계가 962로 나옵니다."_ 나는 당신의 것이 아니라고 확신합니다. – Marvin

+0

당신의 코드는 단지'arrayA'의 내용을 요약하고 있습니다. 그것은 OP가 실제로 원하는 것이 아닙니다 : 그는 그가 각각의 인접 숫자를 곱하기를 원한다고 말했다. –

1

당신이 962 올바른 결과입니다 확실에게입니까? 당신이 모든 인접한 쌍의 결과를 요약하려면

10*5 ok 
5*100 not 
100*3 ok 
3*5 not 
...etc. 

: 각 인접한 숫자를 곱하고 결과를 요약 경우, 반환 값은 고려에만 다른 모든 쌍을 것 같다 1540해야 당신이 다른 모든 쌍을 떠나고 싶어 정말 100 % 확신하고있는 경우,

 int sum= 0; 
     for(int x = 0; x < arrayA.length-1; x++) 
     sum+=(arrayA[x]*arrayA[x+1]); 

한편 : 곱셈 ('없습니다'표시 또한 것들), 당신은 단순히이 같은 배열을 통해 갈 수 있습니다 962 결과로 이동 :

 int sum= 0; 
     for(int x = 0; x < arrayA.length-1; x+=2) 
     sum+=(arrayA[x]*arrayA[x+1]); 

그러나 이것은 짝수 개의 항목이있는 배열에서만 작동합니다. 그리고 이것이 운동의 일부이기 때문에, 나는 첫 번째 해결책이 내재 된 해결책이 될 가능성이 훨씬 더 높다고 생각할 것입니다.