[英]How to access the string variable outside the for loop in java?
對於下面的代碼,現在的問題是如何在for循環外訪問變量字符串?謝謝。
for (String[] string: arr) {
if(string.length == 1)
{
System.out.println(string[0]);
continue;
}
for (int i = 1; i < string.length; i++) {
System.out.println(string[0] + " " + string[i]);
}
}
您的string
變量在本地范圍內,僅存在於循環中。 您需要先定義一個外部String[]
變量,然后在循環中對該變量進行賦值:
String[] outsideString;
for (String[] string: arr) {
...
outsideString = string;
...
}
// This line works
System.out.println(outsideString[0]);
以下解決方案為您提供了所有已打印字符串的數組列表。 這提供了一個使用字符串數組邏輯創建的arraylist,以便在for loop
使用它。
即使在for loop
之后,也for loop
使用finalList打印所有字符串。
ArrayList<String> finalList = new ArrayList<String>();
for (String[] string: arr) {
if(string.length == 1)
{
System.out.println(string[0]);
finalList.add(string[0]);
continue;
}
for (int i = 1; i < string.length; i++) {
System.out.println(string[0] + " " + string[i]);
finalList.add(string[0] + " " + string[i]);
}
}
for(String output: finalList){
System.out.println(output);
}
希望這可以幫助。
您無法提供此代碼。 在頂部的增強型for循環中,只能使用for循環本地的變量
你不能 如果需要從所述循環外部的循環訪問某些內容,請在循環外部創建String或Collection變量,然后從循環內部為其分配/添加變量。
嘗試這個。
String[] outerString = {};
for (String[] string: arr) {
outerString = string;
if(string.length == 1)
{
System.out.println(string[0]);
continue;
}
for (int i = 1; i < string.length; i++) {
System.out.println(string[0] + " " + string[i]);
}
}
if(outerString.length > 0){
System.out.println(outerString[0]);
}
請記住,只有Collection迭代中的最后一項將被打印在外部字符串中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.