2016-02-29 102 views
-1

返回我有一個方法splitThat其執行以下操作:從字符串數組獲取元素通過拆分法

public static void splitThat(String newString){ 
    System.out.println 
     (java.util.Arrays.toString(newString.split("\\s+"))); 
} 

split返回一個字符串數組的方法,但我不知道如何到達返回的字符串的元素陣列分開。例如:

splitThat("Please help me"); 

這將返回數組:當我想達到的數組的第一個元素

[請幫助,我]

,我可以」 t簡單地使用索引,編譯器給出錯誤消息,並且建議的修補程序不起作用。我如何做到這一點?

+1

你可以從'splitThat返回數組(開始)'和通過比「編譯器給出錯誤消息」更具體,例如_哪些錯誤消息? _哪裏_? – Thomas

+0

它不返回數組,它打印它。如果你想使用這個值,你必須返回它。 –

回答

4

這將返回數組:

你寫不返回任何東西的void方法。它只有列印陣列。

你可能想改變你的方法是這樣的:

public static String[] splitThat(String newString){ 
    return newString.split("\\s+"); 
} 
+0

大於1個月後的投票情況?謹慎地解釋它? – radoh

4

您的splitThat不返回任何內容。它只打印由split調用返回的數組。如果要訪問該數組的元素,請更改您的方法以返回String[]而不是打印數組。

public static String[] splitThat(String newString){ 
    return newString.split("\\s+"); 
} 

... 

String[] s = splitThat("Please help me"); 
if (s.length > 0) 
    System.out.println(s[0]); 
0

這是副本,只要你想

public class TwoD { 
    public static String[] splitThat(String newString){ 
     System.out.println(java.util.Arrays.toString(newString.split("\\s+"))); 

     String []temp = newString.split("\\s+"); 

     return temp; 

    } 

    public static void main(String... args) 
    { 


     //Use This 
     for(String outputs:splitThat("Please help me")) { 
      System.out.println(outputs); 
     } 

     //OR USE 
     String []outputs2 = splitThat("Please help me"); 

     for(int i = 0;i < outputs2.length;i++) 
     { 
      System.out.println(outputs2[i]); 
     } 

    } 

}