2014-01-30 4 views
0

방금 ​​Java 학습을 시작했고 다음과 같은 문제가 있습니다.while 루프 내부의 더하기 연산자 (Java)

while 루프가있는 for 루프에 도움이 필요합니다.

while (difference > epsilon) { 
    for (int u = 0; u <= N, u++) { 
     for (int d = 0; d <= N, d++) { 
      formulaLong += Math.pow(E, -rT) * Math.pow(0.5, N) * productofVC[u][d]; 
     } 
    } 
} 

while 루프가 실행될 때마다

는 변수 formulaLong 루프 동안 이전에서 이전 formulaLong에 추가됩니다. formulaLong이 현재 while 루프에 대한 수식을 제공하도록 코드를 작성하려면 어떻게해야합니까?

+2

'formulaLong'을 루프의 시작 또는 끝에서 0으로 재설정하면됩니다. – chrylis

+0

어떻게해야합니까? 미안 해요 방금 자바 배우기 시작했습니다 – user3251256

+1

같은 변수를 다시 설정하는 대신 while (..) {double formulaLong = 0; ..}'. 이 새로운 변수 (좋은 기본값이 할당 됨)는 각 루프마다 구별되며 변수 범위를 제한하여 코드 가독성을 돕습니다. – user2864740

답변

0

그냥이 줄을 추가하십시오 .. 나는 당신의 질문에서 이해 !!

while(difference > epsilon){ 
for (int u = 0; u <= N, u++){ 
    for (int d = 0; d <= N, d++){ 
    formulaLong += Math.pow(E, -rT)*Math.pow(0.5, N)*productofVC[u][d]; 
    } 
} 
formulaLong = 0; // so you reset the value after the for loop 
} 
0

단지 같은 루프 최상위 위 - 초기화 다시 수 :

while(difference > epsilon){ 
    formulaLong = 0;//reset 
    for (int u = 0; u <= N, u++){ 
    for (int d = 0; d <= N, d++){ 
     formulaLong += Math.pow(E, -rT)*Math.pow(0.5, N)*productofVC[u][d]; 
    } 
    } 
} 

당신의 while 루프가 이제까지 생각 중지하는 방법을 실제 확실하지.