2016-02-29 74 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]); 
     } 

    } 

}