嵌套java循环的范围问题

时间:2012-01-23 00:29:59

标签: java for-loop scope processing nested

我正在学习处理(对于那些不知道它是一种基于java语言的视觉艺术的人),我遇到了嵌套for循环的奇怪问题。 这是一个简单的程序,(应该)生成随机数量的点,并将它们全部连接起来。

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的东西”,这对我来说似乎很疯狂。有什么想法吗?

2 个答案:

答案 0 :(得分:8)

嵌套循环后你有一个分号。这使得语法正确的空循环,后跟一个引用未声明变量L的块。

作为旁注,通常使用小写字母命名循环变量,通常从ijkm开始,依此类推。小写l经常被跳过,因为它与大写I相似。

答案 1 :(得分:1)

for循环声明后有一个分号:

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