1

式のある文字列があります。たとえば、文字列は「a+b」です。その文字の代わりにfloat変数を挿入する必要があります。"a"=2.4494および"b"=5.545466。変数を文字列に変換してから、式と値の文字配列を使用して文字列から作成します。

expr = expressions.get(i)[0]; // string with expression
        for (int j = 0; j < valsListArray.length; j++) {//find characters and values
                                                        //they should have      
            String selection = (String) valsListArray[j].getSelectedItem(); //get 
                                                               //chosen character
            Float valueFloat = segmentAreas.get(j);          //get value
            String valueString = "" + valueFloat;
            char[] charexpr = expr.toCharArray();                           //
            char[] valueChar = valueString.toCharArray();
            char[] ch = selection.toCharArray();
            for (int jj = 0; jj < charexpr.length; jj++) {
                if (charexpr[jj] == ch[0]) {  
                    charexpr[jj] = valueChar[0];    //here is the problem
                }
            }
            String s =new String(charexpr);
            expr = s;

しかし、1文字ではなくcharArray全体を挿入する方法がわかりません...

4

2 に答える 2

3

配列に一度に複数の文字を挿入するには、StringBuilder代わりに使用することを検討してください。使用方法は次のとおりです。

StringBuilder sb = new StringBuilder("initial string");
sb.append("another string");
sb.append(new char[] {'c', 'h', 'a', 'r', 's'});
sb.append(1.0f);
String str = sb.toString();
于 2012-06-05T18:54:10.070 に答える
2

文字列は不変です。したがって、それを変更しようとするのは悪い習慣です。

StrigBuilderオブジェクトを使用して文字列を操作します。このオブジェクトには、求めていたことを実行できる insert() メソッドがあります。

于 2012-06-05T18:58:36.070 に答える