簡體   English   中英

如何在Java中的for循環外訪問字符串變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM