ResultSet rs2 = statement.executeQuery();
while (rs2.next()) {
String f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
我需要在此循環外部獲取字符串f的值並將其轉換爲整數。但它說'找不到符號'。如何在while循環中訪問f的值?在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的值?在java中訪問while循環內的值?
您可以從循環外部訪問它,如果你在循環之前聲明f
:
ResultSet rs2 = statement.executeQuery();
String f = null;
while (rs2.next()) {
f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
但是,它沒有什麼意義,因爲在循環之後f
將包含對已分配的最終字符串的引用到它,所有以前的字符串將被忽略。
它會更有意義解析字符串內環路詮釋,然後用它做(把它添加到收藏一些,對它進行處理,等等)的東西:
ResultSet rs2 = statement.executeQuery();
while (rs2.next()) {
String f = rs2.getString(1);
System.out.println(f);
int a = Integer.parseInt(f);
}
只是把它定義在循環之前 - 在範圍內創建的變量(例如循環)僅在此範圍內有效。
String f = null;
ResultSet rs2 = statement.executeQuery();
while (rs2.next()) {
f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
您需要在循環之外聲明它。
ResultSet rs2 = statement.executeQuery();
String f = new String();
while (rs2.next()) {
f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
基本上問題是 「的Integer.parseInt(F);」不知道f是否存在,因爲f在循環內部。
由於「int a = Integer.parseInt(f);」在循環之外它不能訪問循環內的內容。
在循環外部設置f。 f當前位於循環的本地,所以一旦while循環結束,它就超出範圍。在輸入while循環之前將其定義爲新的字符串。
要訪問外循環的值 - 你需要在循環外部定義值。 像
ResultSet rs2 = statement.executeQuery();
String f = null;
while (rs2.next()) {
f = rs2.getString(1);
System.out.println(f);
}
int a = Integer.parseInt(f);
但要知道,你從這個循環收到最新的字符串值(事業上的所有迭代,你會替換這個變量)。
變量f位於其所在塊的本地。 您需要在塊之外聲明它。
String f = "";
while (rs2.next()) {
f = rs2.getString(1);
要將它轉換爲整數,只需使用Integer.parseInt(f);