2017-10-21 80 views
-2

所以,我對Java和一般編程相當陌生,並沒有真正找到解決我的問題的方法。Java - 製作一個特定於循環的變量

我正在編寫一個程序,其中包含for循環內的for循環,並在第一個循環中我使用變量i,我想使用相同的字母,但技術上爲for循環內的一個不同的變量它。

for(int i = 0; i<=numofdoors.length; i+=modifier){ 
    for(int i = 0; i <= (numofdoors.length - numofdoors.length%modifier)/modifier; i+=1){ 
    // .... 
    } 
} 

什麼程序實際是幹什麼的,我如果有一種方法,使只有在每一個for循環1INT I1的工作只是在想忽略細節,所以我可以用我爲我的變量在任何for循環我用。如果有人能告訴我如何做到這一點,如果甚至有可能我會很感激。如果其他方法更好的做法,我也會很感激。

+0

不要試圖使用相同的變量名,取而代之的是'j'作爲內部循環...即使它正在工作,您和您的代碼的其他讀者也會很容易混淆! – deHaar

+0

不,你不能。您的內部for-loop必須使用不同的變量名稱,例如'j' –

+1

如果將內部for循環提取到其他方法,則可以。請注意,從不在任何地方使用外部的'i'變量是非常令人驚訝的(也可能是一個錯誤)。 –

回答

0

您必須對具有相交範圍的循環使用不同的變量(外部範圍包括內部範圍)。只需使用不同的字母:

for(int i = 0; i <= someBorder; i += someValue) { 
    for(int j = 0; j <= someThing; j++) { 
    // .... 
    } 
} 
0

您應該使用其他變量來避免混淆 例如,

for(int i = 0; i<=numofdoors.length; i+=modifier){ for(int j = 0; j <= (numofdoors.length - numofdoors.length%modifier)/modifier; j+=1){ // .... } }

稱爲外i在內環範圍以及因此它不會讓你得到編譯。

它關於變量的範圍。

及其更多的好處,以避免混淆讀寫程序。永遠記住,程序應該是可讀的,任何人都應該很容易理解。

+0

這不僅僅是爲了避免混淆。這是關於使代碼編譯。 –

+0

更新了ans謝謝:) – Nutan

+0

請參閱:https://stackoverflow.com/help/someone-answers – c0der