/ ネストされたJavaループに関する/スコープ問題 - java、for-loop、スコープ、処理、ネスト

ネストされたjavaループのスコープの問題 - java、for-loop、スコープ、処理、ネストされた

私は「処理を学んでいる」(知らない人のために)そのJavaベースの言語は視覚芸術を対象としています)、そして私は "ループの入れ子になったという奇妙な問題に出会いました。 これは(ランダムに)乱数の点を生成し、それらすべてを接続する簡単なプログラムです。

size(1280, 1050);
background(227, 199, 147);
smooth();
stroke(255);
strokeWeight(2);

int points = int(random(30)) + 2;
int[][] Points  = new int[points][2];

for (int i = 0; i < points; i++)
{
Points[i][0] = int(random(1280));
Points[i][1] = int(random(1050));
}

for (int i = 0; i + 1 < points; i++)
{
for (int L = i+1; L < points; L++);
{
line(Points[i][0], Points[i][1], Points[L][0], Points[L][1]);
}
}

これを実行すると、「Lという名前のものが見つかりません」というエラーが表示されます。何か案は?

回答:

回答№1は8

入れ子になったループの後にセミコロンがあります。これは文法的に正しい空のループを作り、その後に未宣言の変数を参照するブロックが続きます。 L.

ちなみに、ループ変数には小文字で名前を付けるのが一般的です。 i, j, k, mなどです。小文字 l 大文字との類似性のためにしばしばスキップされる I.


回答№2の場合は1

forループ宣言の後にセミコロンがあります。

for (int L = i+1; L < points; L++);