访问for循环之外的整数

时间:2014-01-08 21:55:13

标签: java int

for (int x = 1; x <= 3; x++) {
  System.out.println("Number: " + x);
}
System.out.println("Done! Counted to: " + x);

这给出了一个错误,告诉我我无法访问for循环之外的变量 有办法吗?

6 个答案:

答案 0 :(得分:11)

for语句之外声明它,然后省略for语句的第一部分。

int x = 1;
for (; x <= 3; x++) {
    System.out.println("Number: " + x);
}

System.out.println("Done! Counted to: " + x);

提示:您可以省略for循环的三个部分中的任何一个。例如,如果您希望在构成for循环的复合语句中进行一些条件递增,则可能希望省略最后一部分。

int x = 1;
for (; x <= 3;) {
    if (x % 2 == 0) {
        x += 2;
    } else {
        x++;
    }
}

虽然这种事情很糟糕。如果你不小心,很容易发现自己陷入无限循环。

答案 1 :(得分:2)

x置于循环外,并使用其他变量进行循环。

代码

int x = 0;
for (int i = 1; i <= 3; i++) {
    System.out.println("Number: " + i);
    x = i;
}
System.out.println("Done! Counted to: " + x);

结果

Number: 1
Number: 2
Number: 3
Done! Counted to: 3

答案 2 :(得分:1)

是的,很容易。就这样做:

int x = 0;
for (x=1; x<=3; x++) {
    System.out.println("Number: " +x);
}

System.out.println("Done! Counted to: "+x);

你没有拥有来在循环中声明一个新变量,你可以根据需要使用现有变量。

答案 3 :(得分:1)

在for循环中声明变量时,该变量的范围仅在循环内。

为了在for循环外部访问该变量,请在外部声明它。

int x =0;
for (x=1; x<=3; x++) {
    System.out.println("Number: " +x);
    }
    System.out.println("Done! Counted to: "+x);
    }
}

答案 4 :(得分:1)

如果第一部分没用,那么也可以使用while循环。

int x = 1;

while (x <= 3)  
{         
    System.out.println("Number: " + x);        
    x++;   
}  

System.out.println("Done! Counted to: "+ x);

答案 5 :(得分:0)

 
int x=1;
for (; x<=3; x++) {
  System.out.println("Number: " +x);
}
System.out.println("Done! Counted to: "+x);