0

アンドロイド 2.3.3

これは私のコードです...

String[] expression = {""}; //globally declared as empty

somewhere in the code below, I am trying to assign a string to it.

expression[0] = "Hi";

I keep getting the following error...
12-08 22:12:19.063: E/AndroidRuntime(405): java.lang.ArrayIndexOutOfBoundsException

誰かがこれで私を助けることができます..私がやっているように、インデックス0に直接アクセスできますか?

実際のコード :::

static int x = 0; // global declaration
String[] assembledArray = {""}; // global declaration

assembleArray(strSubString, expression.charAt(i)); //Passing string to the method

//Method Implementation
private void assembleArray(String strSubString, char charAt) {
        // TODO Auto-generated method stub

        assembledArray[x] = strSubString;
        assembledArray[x+1] = String.valueOf(charAt);
        x = x+2;

    }
4

1 に答える 1

1

問題はありませんassembledArray[x]; にありassembledArray[x+1]ます。

最初の反復では、、x+1 = 1なので、配列のその部分にアクセスすることはできません。動的配列、別名ArrayList:を使用することをお勧めします。

ArrayList<String> assembledArray = new ArrayList<String>(); // global declaration

assembleArray(strSubString, expression.charAt(i)); //Passing string to the method

//Method Implementation
private void assembleArray(String strSubString, char charAt) {
    assembledArray.add(strSubString);
    assembledArray.add(String.valueOf(charAt));
}

このように、Javaがサイズ変更を処理し、を追跡する必要はありませんx

于 2012-12-08T17:00:47.557 に答える