-3

Javaでライブラリ関数(例:-split、tocharArrayなど)を使用せずに文字列をcharの配列に変換する方法はありますか?

4

5 に答える 5

1
String str = "abcd";
char[] arr = str.toCharArray(); // What is the wrong with this way

char 配列を手動で作成できます。

String str = "abcd";
char[] arr = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
    arr[i] = str.charAt(i);
}
于 2013-08-09T10:24:30.750 に答える
0

これは、java.io.StringReader

ここに小さなスニペットがあります:

public static void main(String[] args)
{
    try
    {
        String s = "hello world";

        StringReader reader = new StringReader(s);

        char[] cc = new char[1];
        cc[0] = (char) reader.read();

        char[] tmpCC = null;

        int readChar = 0;
        int lenConcatenator = cc.length;
        while((readChar = reader.read())!=-1)
        {
            ++lenConcatenator;
            tmpCC = new char[cc.length];
            System.arraycopy(cc, 0, tmpCC, 0, cc.length);

            cc = new char[lenConcatenator];
            System.arraycopy(tmpCC, 0, cc, 0, tmpCC.length);

            cc[lenConcatenator - 1] = (char) readChar;
        }

        System.out.println(cc);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
于 2014-11-03T10:48:29.480 に答える
0

toCharArray()文字列ライブラリである使用。java.lang.Stringこのライブラリは、クラス内の実際の実装に置き換えることができます。これがなければ、達成できる場合は提案してください。

import java.util.Scanner;

public class ReverseStringWOInbuilt {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char[] ch = sc.nextLine().toCharArray();
        char temp;  
        for (int i = 0, j = ch.length-1; i < j; i++, j--) {
            temp = ch[i];
            ch[i] = ch[j];
            ch[j] = temp;
        }
        System.out.println(new String(ch));
    }
}
于 2015-11-29T13:52:27.573 に答える