for (int x = 1; x <= 3; x++) {
System.out.println("Number: " + x);
}
System.out.println("Done! Counted to: " + x);
这给出了一个错误,告诉我我无法访问for
循环之外的变量
有办法吗?
答案 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);