plus.java

来自「symbman(大学作业)」· Java 代码 · 共 79 行

JAVA
79
字号
import java.util.Vector;public class Plus extends Expression {		private Expression[] addends;		public Plus(Expression[] a) {		addends = new Expression[a.length];		for(int i=0;i<a.length;i++)			addends[i] = (Expression)a[i].clone();	}		public Expression[] getAddends() { return addends; }		public Object clone() {		return new Plus(addends);	}	public Expression eval() {		Expression[] result = new Expression[addends.length];		for(int i=0;i<addends.length;i++)			result[i] = addends[i].eval();		return new Plus(result);	}	public String toString() {		StringBuffer result = new StringBuffer("(");		result.append(addends[0].toString());		for(int i=1;i<addends.length;i++) {			result.append("+");			result.append(addends[i].toString());		}		result.append(")");					return result.toString();	}		public Expression derive(Symbol s) {		Expression[] result = new Expression[addends.length];		for(int i=0;i<addends.length;i++)			result[i] = addends[i].derive(s);		return new Plus(result);	}		public boolean equals(Expression ex) {		if(!(ex instanceof Plus)) return false;		Plus p = (Plus)ex;		Expression eadd[] = p.getAddends();		if(eadd.length == addends.length) {			boolean ret = true;			for(int i=0;i<addends.length;i++)				if(!(eadd[i].equals(addends[i]))) {					ret = false;					//break;				}			return ret;		}		else return false;	}		public Expression simplify() {		Vector v = new Vector();		for(int i=0;i<addends.length;i++) {			if(!((addends[i].simplify()).equals(new NumericValue(0.0))))				v.add(addends[i].simplify());		}					Expression simplAddends[] = new Expression[v.size()];		for(int i=0;i<v.size();i++)			simplAddends[i] = (Expression) v.get(i);				return new Plus(simplAddends);				}}

⌨️ 快捷键说明

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