2016-11-23 66 views
0

我想問問是否有任何方法可以編寫Java循環中的主計數器,也就是說,當您退出循環時,計數器變量也將被銷燬。Java:while循環與自包含計數器

例如,當我們退出此循環:

for (int i = 0; i < 10; i++) { 
    //do something 
} 

變量i被破壞爲好,從而保持乾淨的代碼。

但是對於while循環,我們必須在循環本身之外創建一個計數器變量;所以,當循環退出時,計數器變量仍然存在於主程序中。

int counter = 0; 
while (counter < 10) { 
    counter++; 
} 
counter--; //we can still manipulate the counter variable here 

我要問的是:是有一些方法把計數器變量的while循環本身中,如:

while ((int i = 0) < 10) { 
    counter++; 
} 
+0

爲什麼「銷燬」櫃檯很重要?這種「乾淨」的方式是什麼? –

+5

那麼,這是for循環。它出什麼問題了? –

+0

@ScottHunter計數器可能會在以後被意外修改,並且可能會產生錯誤,或者如果您有很多while循環和計數器,名稱空間將非常混亂。但大多數情況下,我只是希望它是乾淨的。 –

回答

3

你可以把{}int counterwhile各地循環。

{ 
    int counter = 0; 
    while (counter < 10) { 
    counter++; 
    } 
} 
// counter is inaccessible here 

但是這實際上比使用for循環要複雜得多。

+0

謝謝,很高興知道這是可能的。並且肯定它比for循環要複雜得多,這可能是我以前從未見過它的原因。 –

0

據我所知,你必須使用「外部」計數器。