⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 times.java

📁 symbman(大学作业)
💻 JAVA
字号:
import java.util.Vector;public class Times extends Expression {private Expression[] factors;		public Times(Expression[] f) {		factors = new Expression[f.length];		for(int i=0;i<f.length;i++)			factors[i] = (Expression)f[i].clone();	}		public Expression[] getFactors() { return factors; }		public Object clone() {		return new Times(factors);	}	public Expression eval() {		Expression[] result = new Expression[factors.length];		for(int i=0;i<factors.length;i++)			result[i] = factors[i].eval();		return new Times(result);	}	public String toString() {		StringBuffer result = new StringBuffer("(");		result.append(factors[0].toString());		for(int i=1;i<factors.length;i++) {			result.append("*");			result.append(factors[i].toString());		}		result.append(")");					return result.toString();	}		public Expression derive(Symbol s) {				Expression[] result = new Expression[factors.length];		for(int i=0;i<factors.length;i++) {			Expression[] partProd = new Expression[factors.length];			for(int j=0;j<factors.length;j++) {				partProd[j] = (i==j)?factors[j].derive(s):factors[j];			}			result[i] = new Times(partProd);		}		return new Plus(result);	}		public boolean equals(Expression ex) {		if(!(ex instanceof Times)) return false;		Times t = (Times)ex;		Expression efac[] = t.getFactors();		if(efac.length == factors.length) {			boolean ret = true;			for(int i=0;i<factors.length;i++)				if(!(efac[i].equals(factors[i]))) {					ret = false;					//break;				}			return ret;		}		else return false;	}		public Expression simplify() {		Vector v = new Vector();		for(int i=0;i<factors.length;i++) {			if((factors[i].simplify()).equals(new NumericValue(0.0)))				return new NumericValue(0.0);			if(!((factors[i].simplify()).equals(new NumericValue(1.0))))				v.add(factors[i].simplify());		}					Expression simplFactors[] = new Expression[v.size()];		for(int i=0;i<v.size();i++)			simplFactors[i] = (Expression) v.get(i);				return new Times(simplFactors);				}}

⌨️ 快捷键说明

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