3

文字配列を文字列配列に変換するにはどうすればよいですか?

例えば"Text not text" → "Text not text" as char array → "Text" "not" "text"

方法はわかるが"Text not text" → "Text not text"、方法がわからない

"Text not text" as char array → "Text" "not" "text"

これはコード例ですが、動作しません

public class main {
    public static void main(String[] args) {
        StringBuffer inString = new StringBuffer("text not text");
        int n = inString.toString().replaceAll("[^a-zA-ZА-Я а-я]", "")
                .split(" ").length;
        char[] chList = inString.toString().toCharArray();
        System.out.print("Text splited by chars - ");
        for (int i = 0; i < chList.length; i++) {
            System.out.print(chList[i] + " ");
        }
        System.out.println();
        String[] temp = new String[n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < chList.length; j++) {
                if (chList[j] != ' ') {
                    temp[i] = new String(chList);
                }
            }
            System.out.println(temp[i]);
        }
    }

}
4

4 に答える 4

1

メソッドを使用しString.split()ます。

于 2013-04-22T11:50:58.430 に答える
0

短い甘い答えはanvarik からです。ただし、何らかの作業を表示する必要がある場合 (これは宿題でしょうか?)、次のコードはリストを手動で作成します。

char[] chars = "text not text".toCharArray();

List<String> results = new ArrayList<String>();
StringBuilder builder = new StringBuilder();

for (int i = 0; i < chars.length; i++) {
  char c = chars[i];

  builder.append(c);

  if (c == ' ' || i == chars.length - 1) {
    results.add(builder.toString().trim());
    builder = new StringBuilder();
  }
}

for (String s : results) {
  System.out.println(s);
}
于 2013-04-22T11:50:48.873 に答える