2016-10-01 9 views
-3

私は方程式a + b-c * dを持っています。私は別のファイルからa、b、c、dの値を読み取っています。それらをdouble配列に格納しています。式の文字の値を代入する方法

どのようにa/b/c/dを配列の数値で置き換えるのですか? 私はこれを試みた、

String l2; //getting the equation string in this from other part of the code. 
//assume a+b-c*d 

Double[] secondOperators = new Double[4]; 
public String getSecondString() 
{ 
    l2 = l2.replace("a",toString(secondOperators[0])); 
    l2 = l2.replace("b",toString(secondOperators[1])); 
    l2 = l2.replace("c",toString(secondOperators[2])); 
    l2 = l2.replace("d",toString(secondOperators[3])); 
    return l2;  
} 

結果は

エラーコンパイル時エラーであった:クラスObject内のtoStringメソッドは、指定されたタイプに適用することができません。

l2 = l2.replace("a",toString(secondOperators[0])); 
         ^

必要:引数ありません

が見つかりました:ダブル

理由:実際の正式引数リストは、長さが異なる

+2

結果は...? –

+0

@JBNizetエラー –

答えて

3

利用String.valueOf(secondOperators[0])代わりのtoString(secondOperators[0])

編集:

public static String getSecondString() 
{ 
    String l2="a+b-c*d"; 
    Double[] secondOperators = {22.03,334.34,34.57,231.98}; 
    l2 = l2.replace("a",String.valueOf(secondOperators[0])); 
    l2 = l2.replace("b",String.valueOf(secondOperators[1])); 
    l2 = l2.replace("c",String.valueOf(secondOperators[2])); 
    l2 = l2.replace("d",String.valueOf(secondOperators[3])); 
    return l2;  
} 
+0

置き換える(文字、文字列) \t \t L1 = l1.replace( 'A'、String.valueOf(firstOperators [1]))が見つかりませんの適切な方法で質問を編集しました。 方法String.replace(たCharSequence、たCharSequence)該当 ない(引数ミスマッチ; String.replace(チャー、チャー)が適用されない は、(文字列がCHARに変換することができない引数の不一致) \t \t^ 方法; charをCharSequenceに変換することはできません) –

+0

なぜあなたはあなたの '' a ''を '' a''で変更したのですか? '' replace''を 'one char'と' one string'で使うことはできません。 'String JavaDoc'を読み、より多くのアイデアを得てください。私の編集された答えを見てください。キキーフより –

+0

。あなたは私の質問をアップヴォートすることができます。 –

関連する問題