2017-10-21 88 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