divide.java

来自「是zuojie用java实现的gep库」· Java 代码 · 共 68 行

JAVA
68
字号
package gep.num;import gep.Expression;import java.util.ArrayList;import java.util.List;/** * 除法表达式 */public class Divide implements NExpression{	public static final char code = '/';	public static final int arity = 2;		private NExpression left;	private NExpression right;		public char getCode()	{		return code;	}	public int getArity()	{		return arity;	}	public void addChild(Expression child)	{		if (left==null)		{			left = (NExpression) child;			return; 		}				if (right==null)		{			right = (NExpression) child;			return;		}				throw new IllegalStateException("ADD_CHILD_ERROR");	}	public double evaluate()	{		double answer = left.evaluate() / right.evaluate();//		if (Double.isNaN(answer)) throw new RuntimeException("NaN");		if (Double.isInfinite(answer)) throw new RuntimeException("Divided by zero"); 		return answer;	}		public String toString()	{		return "(" + left + ")/(" + right + ")";	}	public List getChildren()	{		List children = new ArrayList();		children.add(left);		children.add(right);				return children;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?