在java中访问while循环中的值?
ResultSet rs2 = statement.executeQuery();
while (rs2.next()) {
String f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
我需要在这个循环外获取字符串f的值,并将其转换为整数。但上面写着“找不到符号”。如何在while循环中访问f的值
你可以在下面搜索框中键入要查询的问题!
ResultSet rs2 = statement.executeQuery();
while (rs2.next()) {
String f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
我需要在这个循环外获取字符串f的值,并将其转换为整数。但上面写着“找不到符号”。如何在while循环中访问f的值
# 1 楼答案
在循环外设置f。f当前是循环的局部,因此一旦while循环结束,它就超出了范围。在进入while循环之前,将其定义为新字符串
http://www.java-made-easy.com/variable-scope.html
# 2 楼答案
如果在循环之前声明
f
,则可以从循环外部访问它:但是,这没有什么意义,因为在循环之后
f
将包含对分配给它的最后一个字符串的引用,而之前的所有字符串都将被忽略在循环内将字符串解析为int,然后对其进行处理(将其添加到某个集合中,处理它,等等),这样做更有意义:
# 3 楼答案
您需要在循环之外声明它
基本上问题是“Integer.parseInt(f);”不知道f存在,因为f在循环中
因为“inta=Integer.parseInt(f);”在循环外,它无法访问循环内的内容
# 4 楼答案
只需在范围内创建的循环变量(如循环)仅在此范围内有效之前定义它
# 5 楼答案
变量f是其所在块的局部变量。 你需要在街区外申报
要将其转换为整数,只需使用integer。parseInt(f)
# 6 楼答案
要访问循环外的值,需要定义循环外的值。 像
但是请注意,您从这个循环中收到了最新的字符串值(因为在所有迭代中,您都将替换这个变量)