2017-10-21 9 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ループは異なる変数名を使用しなければなりません。 'j' –

+1

内部のforループを別のメソッドに抽出することができます。どこでも外側の 'i'変数を決して使用しないことはかなり驚くべきことです(おそらくバグかもしれません)。 –

答えて

0

交差するスコープを持つループには異なる変数を使用する必要があります(外側スコープには内側スコープが含まれます)。 例えばを混乱を避けるために、あなたは他の変数を使用する必要があります

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

:ちょうど別の文字を使用外iとして

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

あなたがコンパイルを取得することができないようにだけでなく、内側のループ内のスコープを持っています。

その変数の範囲について。

とその多くの利点は、プログラムの読み書きに混乱を避けるためです。プログラムは読みやすく、誰でも簡単に理解できるはずです。

+0

混乱を避けることだけではありません。それは、コードをコンパイルすることです。 –

+0

ansありがとうを更新しました:) – Nutan

+0

参照:https://stackoverflow.com/help/someone-answers – c0der

関連する問題