我想要写接受一个字符串作为参数,并产生字符串,这是包含给定的字符串中的单词的ArrayList的方法。如字符串“我去火星”应该变成ArrayList中[“我”,“走出去”,“来”,“火星”。下面是代码:
static ArrayList<String> getWords(String str){
ArrayList<Character> charArr = new ArrayList<Character>();
ArrayList<String> strArr = new ArrayList<String>();
char[] chArr = str.toCharArray();
for (Character i : chArr) {
if (((int) i) != 32) {
charArr.add(i);
}
else {
strArr.add(charArr.toString());
charArr.clear();
}
}
if (! charArr.isEmpty()) strArr.add(charArr.toString());
return strArr;
}
问题是,而不是获取字符串的所需的阵列,我得到charArrays数组。预期输出:
[“我”,“走出去”,“来”,“火星”。
实际输出:
[I],[G,0],[T,0],[M,A,R,S]]。
我也无法将这些字符数组转换为字符串,我试图做通过
String string = new String(getWords(str).get(1));
我怎样才能解决这个问题?优选地,在getWords-方法。
这可以用轻松完成String.split()
方法:
public static List<String> getWords(String str){
String[] strArray=str.split(" ");
List<String> listStr = new ArrayList<String>();
for(String strInArray : strArray){
listStr.add(strInArray);
}
return listStr;
}
这里是链接到geeksforgeeks网站,更多地解释了split
用实例方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句