2014-03-25 4 views
0

내 출력이 잘못되었습니다. "k"의 "for 루프"에 대해 "for 루프"를 실행하는 이유를 깨달았습니다.하나의 for 루프에 2 개의 카운터가 있습니까?

"j와 k"루프를 동시에 실행하면 내 문제를 해결하십시오. 그렇게하는 방법?

public void yestimatedvalue() { 
    for (int i = 1; i < bmarray.length; i++) { 
     double g = 0; 
     s = i; 
     int p = missingrowcolindex(s); 
     System.out.println("p::\t" + p); 

     for (int j = 0; j < bmarray[i].length; j++) { 
      if (j != p) { 
       g = arraybeta[0][p]; 

       for (int k = 1; k < arraybeta.length; k++) { 
        g = g + ((bmarray[i][j]) * (arraybeta[k][p])); 

       } 

      } 
     } 
     System.out.println("g::\t" + g); 
    } 
} 

출력 : 예, 당신이 할 수있는

g:: 23.99999999999998 

g:: 4.9999999999999964 

g:: 5.999999999999995 

g:: 1.0 
+2

나는 단서가 없다 무엇 평균. 예상되는 결과물을 포함시켜야할까요? 또한 출력에서 ​​"p ::"를 볼 수는 없지만 출력이 표시되지 않는다는 것을 의미합니다 ... –

+0

왜 루프에서'g = 0'입니까? –

+0

및 출력 방법을 원하십니까? @ferozakbar –

답변

1

에 대한 루프 실행 "J와 K"동시에는이 질문에 응답 :

for(int j=0, k=1; (j < bmarray[i].length && k < arraybeta.length); j++, k++){ 
    //.... 
} 
+0

고마워! 당신의 대답은 도움이되었습니다. 지금 나는 정확한 결과를 얻고 있습니다 !! :) – user3436504

6

. 자바 (모든 C와 같은 언어)이 같은 지원 구문 :

for(int i=0, j=5, k=2; i < 10 && j < 50; i++, j+=2, k+=3) { 
} 
+0

당신의 첩자에게 감사드립니다 !! 그것은 개념을 이해하는 데 도움이되었습니다! – user3436504

+0

'i <10, j <50'에 동의하지 않는다면 프로그램 내에서 변수 나 배열의 길이를 사용하는 대신 하드 코딩하지 않는 것이 좋습니다. –

+0

나는 모든 숫자가 예를 들어서 분명하다는 것을 알았다. ... – AlexR

관련 문제