2014-01-30 51 views
0

我剛開始學習Java,並遇到以下問題。while循環中的加法運算符(Java)

我需要幫助這個循環,我有一個while循環。

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從以前while循環添加到先前formulaLong。我如何編碼,以便formulaLong只給出當前while循環的公式?

+2

只需在循環的開始或結束時將'formulaLong'重置爲零即可。 – chrylis

+0

我該怎麼做?對不起,我剛開始學習java – user3251256

+1

而不是重置相同的變量,只需在while循環中聲明變量*,如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循環永遠不會停止,但。