?? _algebraicexpressionbinaryoperatornode.java
字號:
//===========================================================================//=-------------------------------------------------------------------------=//= Module history: =//= - October 14 2007 - Oscar Chavarro: Original base version =//===========================================================================package vsdk.toolkit.common;public class _AlgebraicExpressionBinaryOperatorNode extends _AlgebraicExpressionNode{ /// Check the general attribute description in superclass Entity. public static final long serialVersionUID = 20071014L; private AlgebraicExpression parent; private char operator; private _AlgebraicExpressionNode leftOperand; private _AlgebraicExpressionNode rightOperand; public _AlgebraicExpressionBinaryOperatorNode(AlgebraicExpression parent, char op) { this.parent = parent; operator = op; } public void setLeftOperand(_AlgebraicExpressionNode operand) { this.leftOperand = operand; } public void setRightOperand(_AlgebraicExpressionNode operand) { this.rightOperand = operand; } public double eval() throws AlgebraicExpressionException { double lval = leftOperand.eval(); double rval = rightOperand.eval(); double val = Double.NaN; switch( operator ) { case '+': val = lval + rval; break; case '-': val = lval - rval; break; case '*': val = lval * rval; break; case '/': val = lval / rval; break; case '^': val = Math.pow(lval, rval); break; default: throw new AlgebraicExpressionException("Unknown binary operator \"" + operator + "\""); } return val; } public String toString() { String msg; msg = "(" + leftOperand.toString() + ") " + operator + " (" + rightOperand.toString() + ")"; return msg; }}//===========================================================================//= EOF =//===========================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -