式を評価するための正しい構文は何ですか?
public double evaluate(){
String ans = (expressionOne.getValue())+""+(SignOperator.getName())+""+expressionTwo.getValue()+"";
return Double.parseDouble(ans);
}
たとえば、expressionOne は X で、彼の値は 5.5 であり、expressionTwo は、たとえば Y で、彼の値は 9.0 です。いくつかの式を評価しようとすると、次のようになり
ます:スレッド「メイン」での例外java.lang.NumberFormatException:入力文字列の場合:「5.5+9.0」
2番目の部分は、作成した式を出力したいときです toString()
public String toString() {
String ans = expressionOne.toString()+""+SignOperator.getName()+""+expressionTwo.toString()+"";
return ans;
}
例:
Variable x = new Variable ('x',5.5);
Variable y = new Variable ('y', 3.5);
Constant nine= new Constant (9.0);
Operator plus=new Operator('+');
BinaryExpression xPy = new BinaryExpression(x, plus, y);
BinaryExpression xP9 = new BinaryExpression(x, plus,nine);
xPyを印刷すると、x + yが得られます。xP9を印刷すると、x + 9が返されます(9は一定であるため)。
1つのtoStringで、式が定数(単なる数値)または変数(例のように)であるかどうかを確認する方法-それを検出する方法は? .
編集
ご覧のとおり、BinaryExpressionには2種類あります-そのうちの1つはxPy-xとyは2つの変数です。それらを評価したい場合は、たとえば( 3.0+5.0 )が表示されますが、印刷すると2 番目の例 xP9 の x+y を教えてください - 評価すると (3.0+9.0) が得られますが、出力すると ( x + 9.0 ) が得られます。 .
ありがとう。