1

次の文字列を配列に格納したいのですが、ArrayOutOfBound Exception がスローされます。

public static void main(String[] args) {
    // TODO Auto-generated method stub
    char[] arr = {};
    String str = "Hello My Name is Ivkaran";
    for (int i = 0;i < str.length(); i++){
        System.out.println(str.charAt(i));
        arr[i] = str.charAt(i);
    }
}
4

3 に答える 3

5

次の行で長さ 0 の配列を宣言しました。

char[] arr = {};

その配列に何かを割り当てるには、ゼロ以外のサイズに初期化する必要があります。ここでは、文字列と同じサイズにする必要があるようです。

String str = "Hello My Name is Ivkaran";
char[] arr = new char[str.length()];

また、 を呼び出しtoCharArray()て、内容が既にコピーされているStringを取得することもできます。char[]

char[] arr = str.toCharArray();
于 2013-08-15T23:22:34.850 に答える
3

Java では、配列は動的ではありません。arraylist を使用するか、次のような次元で配列を作成します。

char[] arr = new char[str.length()]

また、この行を

String str = "Hello My Name is Ivkaran";

その後は元通り継続。

于 2013-08-15T23:22:30.240 に答える
0

これを行うだけです:

String str = "Hello My Name is Ivkaran"; 
char[] arr = str.toCharArray();
于 2013-08-15T23:22:47.493 に答える