如何将数组中的String拆分为单个char?

时间:2017-12-13 16:58:54

标签: arrays string input character

我有这个简单的代码,它将输入分开并将其放在String数组中:

Scanner sc = new Scanner(System.in);
    String s = sc.nextLine();
    String[] arraySentence = s.split(" ");
    for (int i = 0; i<arraySentence.length; i++) {
        arraySentence[i].toCharArray();

        System.out.println(arraySentence[i].toCharArray());
    }

我的重点是将每个单词的每个字符都管理到数组中。

例如,如果我通过:“现在我们只有

来自输入的字符串变为:arraySentence{now, we, only, have}我希望能够在“o”之后取“n”然后“w”等等。

怎么办? 感谢

2 个答案:

答案 0 :(得分:1)

我希望我能正确理解你的问题,如果没有,请发表评论,以便能够修改和纠正。在您的循环中,您可以根据需要使用以下代码段之一。

char[] arr = arraySentence[i].toCharArray();
//in case you need n - o  - w
for(int i=0;i<arr.length;i++){
 System.out.print(arr[i]);
}

//also you can do this too 
for(char c: arr){
 System.out.print(arr[i]);
}
//in case you need w - o - n
for(int i=arr.length-1;i>=0;i--){
 System.out.print(arr[i]);
}

答案 1 :(得分:1)

这是达到你想要做的事情的另一种方式。

public static void main(String[] args) {
     ArrayList<char[]> list = new ArrayList<>();

     String s = "now we only have";
     String[] arraySentence = s.split(" ");

     for(String str : arraySentence) {
         list.add(str.toCharArray());
     }

     list.forEach(arr -> System.out.println(Arrays.toString(arr)));
} 

list包含char个数组。做任何你想做的事......

<强>输出

[n, o, w]
[w, e]
[o, n, l, y]
[h, a, v, e]