我试图将多个字符串转换为整数,然后在for循环之外打印使用它们中的每一个。
这是我的for循环:
for (int i = 0; i < parts.length; i++) {
int p1 = Integer.parseInt(parts[i]);
}
答案 0 :(得分:3)
如果您希望能够访问循环后正在解析的所有整数:
int[] pValues = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
pValues[i] = Integer.parseInt(parts[i]);
}
// at this point you still have access to the pValues array
答案 1 :(得分:1)
为了使用for
循环之外的任何东西(或任何其他范围),您必须在您希望使用它的范围内声明该变量:
int p1 = -1;
for (int i = 0; i < parts.length; i++) {
p1 = Integer.parseInt(parts[i]);
}
请注意,在如上所述的情况下,循环设置单个值,一个非常常见的事情是在设置值后立即中断循环。显然,应该有条件地设置值,否则循环的目的将被打败:
int p1 = -1;
for (int i = 0; i < parts.length; i++) {
if (someCondition()) {
p1 = Integer.parseInt(parts[i]);
break;
}
}
答案 2 :(得分:0)
在循环内创建的任何变量都是LOCAL TO LOOP。这意味着一旦退出循环,就无法再访问该变量!这包括在循环签名中创建的任何变量。
了解详情:http://www.java-made-easy.com/variable-scope.html#ixzz3TZ6obLXK
int secondp1 = 0; // Define your variable outside your loop
for (int i = 0; i < parts.length; i++) {
secondp1 = Integer.parseInt(parts[i]);
}
//so you can use it here.
System.out.println(secondp1 );
您可以查看this以查看变量范围和生命周期。